Re: CVS commit: src/lib/libpthread

2015-06-26 Thread Joerg Sonnenberger
On Fri, Jun 26, 2015 at 12:49:09PM +, Antti Kantee wrote: > This is the simplest program to repeat the problem with g++ 5.1 and NetBSD's > pthread_types.h: > > #include > class foo { > pthread_mutex_t m; > public: > constexpr foo() : m(PTHREAD_MUTEX_INITIALIZER) {} > }; > > (plus

Re: CVS commit: src/lib/libpthread

2015-06-26 Thread Joerg Sonnenberger
On Fri, Jun 26, 2015 at 12:07:36PM +, Antti Kantee wrote: > On 26/06/15 11:53, Joerg Sonnenberger wrote: > >That said, have > >you verified why it doesn't happen with libstdc++ itself? I would > >somewhat suspect that the threatment of the header as system header > >hides the problem for libstd

Re: CVS commit: src/lib/libpthread

2015-06-26 Thread Antti Kantee
This is the simplest program to repeat the problem with g++ 5.1 and NetBSD's pthread_types.h: #include class foo { pthread_mutex_t m; public: constexpr foo() : m(PTHREAD_MUTEX_INITIALIZER) {} }; (plus or minus typos since I typed it by hand from the virtual machine console)

Re: CVS commit: src/lib/libpthread

2015-06-26 Thread Antti Kantee
On 26/06/15 11:53, Joerg Sonnenberger wrote: That said, have you verified why it doesn't happen with libstdc++ itself? I would somewhat suspect that the threatment of the header as system header hides the problem for libstdc++, I can't imagine that it can correctly implement the constexpr constru

Re: CVS commit: src/lib/libpthread

2015-06-26 Thread Joerg Sonnenberger
On Fri, Jun 26, 2015 at 10:14:41AM +, Antti Kantee wrote: > 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 rel

Re: CVS commit: src/lib/libpthread

2015-06-26 Thread Antti Kantee
On 26/06/15 06:02, Martin Husemann wrote: On Fri, Jun 26, 2015 at 01:38:45AM +, Antti Kantee wrote: On Fri, Jun 26, 2015 at 01:33:09AM +, Antti Kantee wrote: Module Name:src Committed By: pooka Date: Fri Jun 26 01:33:09 UTC 2015 Modified Files: src/lib/libpthrea

Re: CVS commit: src/lib/libpthread

2015-06-26 Thread Antti Kantee
On 26/06/15 07:04, Nick Hudson wrote: On 06/26/15 02:33, Antti Kantee wrote: +# ifdef __CPU_SIMPLE_LOCK_PAD +# define __pthread_spin_t unsigned char +# else +# define __pthread_spin_t unsigned int +# endif Are you sure this "works" for hppa which has funky __cpu_simple_lock_t? Slightly rel

Re: CVS commit: src/lib/libpthread

2015-06-26 Thread Antti Kantee
On 26/06/15 09:14, Joerg Sonnenberger wrote: On Fri, Jun 26, 2015 at 01:33:09AM +, 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

Re: CVS commit: src/lib/libpthread

2015-06-26 Thread Antti Kantee
On 26/06/15 07:04, Nick Hudson wrote: On 06/26/15 02:33, Antti Kantee wrote: +# ifdef __CPU_SIMPLE_LOCK_PAD +# define __pthread_spin_t unsigned char +# else +# define __pthread_spin_t unsigned int +# endif Are you sure this "works" for hppa which has funky __cpu_simple_lock_t? You're right

Re: CVS commit: src/lib/libpthread

2015-06-26 Thread Joerg Sonnenberger
On Fri, Jun 26, 2015 at 01:33:09AM +, 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 a

Re: CVS commit: src/lib/libpthread

2015-06-26 Thread Nick Hudson
On 06/26/15 02:33, Antti Kantee wrote: +# ifdef __CPU_SIMPLE_LOCK_PAD +# define __pthread_spin_t unsigned char +# else +# define __pthread_spin_t unsigned int +# endif Are you sure this "works" for hppa which has funky __cpu_simple_lock_t? Nick