[cfe-dev] libc++ MinGW build failure

Ruben Van Boxem vanboxem.ruben at gmail.com
Sun Nov 11 09:31:45 PST 2012


Hi,

I wanted to take another look at libc++ on Windows, but I get a build
failure due to (I think) libc++ itself:

+ 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
In file included from ../src/condition_variable.cpp:10:
../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
condition_variable_any::condition_variable_any()
                        ^
../include\condition_variable:121:24: note: member is declared here
    condition_variable __cv_;
                       ^
../include\__mutex_base:301:23: note: 'std::__1::condition_variable'
declared here
class _LIBCPP_VISIBLE condition_variable
                      ^
In file included from ../src/condition_variable.cpp:11:
../include\thread:433:11: error: no matching constructor for initialization
of 'std::__1::mutex'
    mutex __mut;
          ^
../include\__mutex_base:48:5: note: candidate constructor not viable:
requires 1 argument, but 0 were provided
    mutex(const mutex&);// = delete;
    ^
In file included from ../src/condition_variable.cpp:11:
../include\thread:434:24: error: no matching constructor for initialization
of 'std::__1::condition_variable'
    condition_variable __cv;
                       ^
../include\__mutex_base:314:5: note: candidate constructor not viable:
requires 1 argument, but 0 were provided
    condition_variable(const condition_variable&); // = delete;
    ^
In file included from ../src/condition_variable.cpp:10:
In file included from ../include\condition_variable:112:
../include\memory:2087:40: error: constructor for

'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
    _LIBCPP_INLINE_VISIBILITY explicit
__libcpp_compressed_pair_imp(_T1_param __t1)
                                       ^
../include\memory:2369:11: note: in instantiation of member function

'std::__1::__libcpp_compressed_pair_imp<std::__1::allocator<std::__1::mutex>,
std::__1::mutex, 1>::__libcpp_compressed_pair_imp' requested here
        : base(_VSTD::forward<_T1_param>(__t1)) {}
          ^
../include\memory:3693:12: note: in instantiation of member function
      'std::__1::__compressed_pair<std::__1::allocator<std::__1::mutex>,
std::__1::mutex>::__compressed_pair' requested here
        :  __data_(_VSTD::move(__a)) {}
           ^
../include\memory:4272:26: note: in instantiation of member function
      'std::__1::__shared_ptr_emplace<std::__1::mutex,
std::__1::allocator<std::__1::mutex>>::__shared_ptr_emplace' requested here
    ::new(__hold2.get()) _CntrlBlk(__a2, _VSTD::forward<_Args>(__args)...);
                         ^
../include\memory:4631:12: note: in instantiation of function template
specialization
      'std::__1::shared_ptr<std::__1::mutex>::make_shared<>' requested here
    return shared_ptr<_Tp>::make_shared(_VSTD::forward<_Args>(__args)...);
           ^
../include\condition_variable:159:14: note: in instantiation of function
template specialization 'std::__1::make_shared<std::__1::mutex, >'
requested here
    : __mut_(make_shared<mutex>()) {}
             ^
../include\memory:2075:9: note: member is declared here
    _T2 __second_;
        ^
../include\__mutex_base:34:23: note: 'std::__1::mutex' declared here
class _LIBCPP_VISIBLE mutex
                      ^
4 errors generated.

This is with Clang 3.1. Any ideas?

Thanks,

Ruben

PS: please keep me in CC, I am not subscribed to cfe-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20121111/d90ea76c/attachment.html>


More information about the cfe-dev mailing list