On Wed, Jun 22, 2016 at 09:38:17PM +0200, Julien Ramseier wrote:
Hi Zhao,
Not sure how you did build llvm-libcxx, but the only issue I encountered myself is
the use of PTHREAD_MUTEX_INITIALIZER in libcxx include/__mutex_base.
musl uses volatile types in its pthread_mutex_t struct and C++11 does not allow them
with constexpr member initializers. This rule has been relaxed in C++14.
Note that the code using them is still formally/conceptually buggy.
POSIX does not permit using these initializers as values. They can
only be used as initializers for objects with static storage duration.
A "mutex value" makes no sense; mutexes are objects not values.