build libc++ on linux amd64

Hi all,

I’m trying do build libc++ on a debian amd64 with llvm 2.7 and clang 1.1. I use the last svn revision from libc++ repository. But, when I run ./buildit, I just get a failure with the following errors :

…/include/type_traits:801:38: error: expected expression
: public integral_constant<bool, __has_nothrow_constructor(_Tp)> {};
^
…/include/type_traits:801:70: error: expected class name
: public integral_constant<bool, __has_nothrow_constructor(_Tp)> {};
^
…/include/type_traits:830:38: error: expected expression
: public integral_constant<bool, __has_nothrow_copy(_Tp)> {};
^
…/include/type_traits:830:63: error: expected class name
: public integral_constant<bool, __has_nothrow_copy(_Tp)> {};
^
…/include/type_traits:864:38: error: expected expression
: public integral_constant<bool, __has_nothrow_assign(_Tp)> {};
^
…/include/type_traits:864:65: error: expected class name
: public integral_constant<bool, __has_nothrow_assign(_Tp)> {};
^
…/include/type_traits:896:38: error: expected expression
: public integral_constant<bool, __has_virtual_destructor(_Tp)> {};
^
…/include/type_traits:896:69: error: expected class name
: public integral_constant<bool, __has_virtual_destructor(_Tp)> {};
^
In file included from …/src/algorithm.cpp:11:
In file included from …/include/random:1643:
In file included from …/include/vector:243:
…/include/__bit_reference:33:5: error: friends can only be classes or functions
friend typename _C::__self;
^~~~~~~~~~~~~~~~~~~~~~~~~~
…/include/__bit_reference:104:5: error: friends can only be classes or functions
friend typename _C::__self;
^~~~~~~~~~~~~~~~~~~~~~~~~~
…/include/__bit_reference:1167:5: error: friends can only be classes or functions
friend typename _C::__self;
^~~~~~~~~~~~~~~~~~~~~~~~~~
11 diagnostics generated.

Any idea ?

Best regards,

Jaonary

Try the 2.8 branch; there have been a ton of improvements to C++
support since 2.7.

-Eli