Source-Changes-D archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src/lib/libpthread



On 26/06/15 09:14, Joerg Sonnenberger wrote:
On Fri, Jun 26, 2015 at 01:33:09AM +0000, Antti Kantee wrote:
Module Name:	src
Committed By:	pooka
Date:		Fri Jun 26 01:33:09 UTC 2015

Modified Files:
	src/lib/libpthread: pthread_types.h

Log Message:
C++ (namely libc++) expects to be using PTHREAD_FOO_INITIALIZER as a
member initializer. This does not work for volatile types. Since C++
does not touch the guts of those types, redefine them as non-volatile.

Fixes libc++ compilation with g++ 5.1, as reported in PR lib/49989.

Please revert this. It is ugly, it breaks the abstraction of the system
headers and it is a hackaround for a GCC bug. This should be handled by
GCC and only by GCC. The relevant DR against C++11 is core issue #1911.

As long as NetBSD's goals include "interoperates well with other systems" and "conforms to open systems standards as much as is practical", the workaround is mandated. It fixes source level interoperation with a contemporary release of a major compiler (fact) and given that it's a few lines to a single file, it's practical (subjective). Of course, I'd *like* to go back in time to fix all bugs, but I'm not high on hopes with that being possible.

Home | Main Index | Thread Index | Old Index