Hi,<br><br>I wanted to take another look at libc++ on Windows, but I get a build failure due to (I think) libc++ itself:<br><br>+ clang++ -c -g -Os -fPIC -std=c++0x -fstrict-aliasing -Wall -Wextra -Wshadow -Wconversion -Wpadded -Wmissing-prototypes -Wstrict-aliasing=2 -Wstrict-overflow=4 -nostdinc++ -I../include ../src/condition_variable.cpp<br>
In file included from ../src/condition_variable.cpp:10:<br>../include\condition_variable:158:25: error: constructor for 'std::__1::condition_variable_any' must explicitly initialize the member '__cv_' which does not have a default constructor<br>
condition_variable_any::condition_variable_any()<br>                        ^<br>../include\condition_variable:121:24: note: member is declared here<br>    condition_variable __cv_;<br>                       ^<br>../include\__mutex_base:301:23: note: 'std::__1::condition_variable' declared here<br>
class _LIBCPP_VISIBLE condition_variable<br>                      ^<br>In file included from ../src/condition_variable.cpp:11:<br>../include\thread:433:11: error: no matching constructor for initialization of 'std::__1::mutex'<br>
    mutex __mut;<br>          ^<br>../include\__mutex_base:48:5: note: candidate constructor not viable: requires 1 argument, but 0 were provided<br>    mutex(const mutex&);// = delete;<br>    ^<br>In file included from ../src/condition_variable.cpp:11:<br>
../include\thread:434:24: error: no matching constructor for initialization of 'std::__1::condition_variable'<br>    condition_variable __cv;<br>                       ^<br>../include\__mutex_base:314:5: note: candidate constructor not viable: requires 1 argument, but 0 were provided<br>
    condition_variable(const condition_variable&); // = delete;<br>    ^<br>In file included from ../src/condition_variable.cpp:10:<br>In file included from ../include\condition_variable:112:<br>../include\memory:2087:40: error: constructor for<br>
      'std::__1::__libcpp_compressed_pair_imp<std::__1::allocator<std::__1::mutex>, std::__1::mutex, 1>' must explicitly initialize the member '__second_' which does not have a default constructor<br>
    _LIBCPP_INLINE_VISIBILITY explicit __libcpp_compressed_pair_imp(_T1_param __t1)<br>                                       ^<br>../include\memory:2369:11: note: in instantiation of member function<br>      'std::__1::__libcpp_compressed_pair_imp<std::__1::allocator<std::__1::mutex>, std::__1::mutex, 1>::__libcpp_compressed_pair_imp' requested here<br>
        : base(_VSTD::forward<_T1_param>(__t1)) {}<br>          ^<br>../include\memory:3693:12: note: in instantiation of member function<br>      'std::__1::__compressed_pair<std::__1::allocator<std::__1::mutex>, std::__1::mutex>::__compressed_pair' requested here<br>
        :  __data_(_VSTD::move(__a)) {}<br>           ^<br>../include\memory:4272:26: note: in instantiation of member function<br>      'std::__1::__shared_ptr_emplace<std::__1::mutex, std::__1::allocator<std::__1::mutex>>::__shared_ptr_emplace' requested here<br>
    ::new(__hold2.get()) _CntrlBlk(__a2, _VSTD::forward<_Args>(__args)...);<br>                         ^<br>../include\memory:4631:12: note: in instantiation of function template specialization<br>      'std::__1::shared_ptr<std::__1::mutex>::make_shared<>' requested here<br>
    return shared_ptr<_Tp>::make_shared(_VSTD::forward<_Args>(__args)...);<br>           ^<br>../include\condition_variable:159:14: note: in instantiation of function template specialization 'std::__1::make_shared<std::__1::mutex, >' requested here<br>
    : __mut_(make_shared<mutex>()) {}<br>             ^<br>../include\memory:2075:9: note: member is declared here<br>    _T2 __second_;<br>        ^<br>../include\__mutex_base:34:23: note: 'std::__1::mutex' declared here<br>
class _LIBCPP_VISIBLE mutex<br>                      ^<br>4 errors generated.<br><br>This is with Clang 3.1. Any ideas?<br><br>Thanks,<br><br>Ruben<br><br>PS: please keep me in CC, I am not subscribed to cfe-dev<br><br>