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 constructor without performance penalties otherwise...
I don't speak C++, but a grep-based guess coupled with common sense suggests that libstdc++ is fine because it doesn't use PTHREAD_MUTEX_INITIALIZER. Not that you can use common sense to reason about C++, but anyway. Also, most likely nobody has tried compiling libstdc++ for NetBSD with the g++ 5 series, and therefore we don't know if it fails or not. Finally, I don't understand why this would be an issue with just libstdc++/libc++ as opposed to any C++ compiled code which uses PTHREAD_X_INITIALIZER (lack of understanding again based on common sense instead of C++ sense).