Cmake and Libcxx under /projects path for llvm current state

Platform: Debian Linux (Sid branch)

Testing: lilbcxx build capabilities under /trunk/llvm/projects/libcxx

Change: I see that Cmake is now recognizing libc++ (libcxx) to be built and I thought I’d report back the current errors in building against LLVM/Clang Trunk whether with gcc built clang-3.1 or already built clang-3.1 prior to adding libcxx under the projects path.

Known: I know I can continue to build llvm/clang cleanly with either gcc-4.7 or the prior built clang-3.1 from trunk without libcxx.

Output with libcxx:

[ 56%] Building CXX object projects/libcxx/lib/CMakeFiles/cxx.dir/__/src/stdexcept.cpp.o
In file included from /home/mdriftmeyer/DeveloperProjects/LLVMProject/trunk/llvm/projects/libcxx/include/exception:81:0,
from /home/mdriftmeyer/DeveloperProjects/LLVMProject/trunk/llvm/projects/libcxx/include/stdexcept:46,
from /home/mdriftmeyer/DeveloperProjects/LLVMProject/trunk/llvm/projects/libcxx/src/stdexcept.cpp:10:
/home/mdriftmeyer/DeveloperProjects/LLVMProject/trunk/llvm/projects/libcxx/include/type_traits:731:2: error: #error is_base_of not implemented.
In file included from /home/mdriftmeyer/DeveloperProjects/LLVMProject/trunk/llvm/projects/libcxx/include/memory:605:0,
from /home/mdriftmeyer/DeveloperProjects/LLVMProject/trunk/llvm/projects/libcxx/include/algorithm:594,
from /home/mdriftmeyer/DeveloperProjects/LLVMProject/trunk/llvm/projects/libcxx/include/string:434,
from /home/mdriftmeyer/DeveloperProjects/LLVMProject/trunk/llvm/projects/libcxx/src/stdexcept.cpp:12:
/home/mdriftmeyer/DeveloperProjects/LLVMProject/trunk/llvm/projects/libcxx/include/__undef_min_max:12:54: warning: missing terminating ’ character [enabled by default]
/home/mdriftmeyer/DeveloperProjects/LLVMProject/trunk/llvm/projects/libcxx/include/__undef_min_max:17:54: warning: missing terminating ’ character [enabled by default]
In file included from /home/mdriftmeyer/DeveloperProjects/LLVMProject/trunk/llvm/projects/libcxx/include/algorithm:598:0,
from /home/mdriftmeyer/DeveloperProjects/LLVMProject/trunk/llvm/projects/libcxx/include/string:434,
from /home/mdriftmeyer/DeveloperProjects/LLVMProject/trunk/llvm/projects/libcxx/src/stdexcept.cpp:12:
/home/mdriftmeyer/DeveloperProjects/LLVMProject/trunk/llvm/projects/libcxx/include/__undef_min_max:12:54: warning: missing terminating ’ character [enabled by default]
/home/mdriftmeyer/DeveloperProjects/LLVMProject/trunk/llvm/projects/libcxx/include/__undef_min_max:17:54: warning: missing terminating ’ character [enabled by default]
In file included from /home/mdriftmeyer/DeveloperProjects/LLVMProject/trunk/llvm/projects/libcxx/include/string:449:0,
from /home/mdriftmeyer/DeveloperProjects/LLVMProject/trunk/llvm/projects/libcxx/src/stdexcept.cpp:12:
/home/mdriftmeyer/DeveloperProjects/LLVMProject/trunk/llvm/projects/libcxx/include/__undef_min_max:12:54: warning: missing terminating ’ character [enabled by default]
/home/mdriftmeyer/DeveloperProjects/LLVMProject/trunk/llvm/projects/libcxx/include/__undef_min_max:17:54: warning: missing terminating ’ character [enabled by default]
In file included from /home/mdriftmeyer/DeveloperProjects/LLVMProject/trunk/llvm/projects/libcxx/include/exception:81:0,
from /home/mdriftmeyer/DeveloperProjects/LLVMProject/trunk/llvm/projects/libcxx/include/stdexcept:46,
from /home/mdriftmeyer/DeveloperProjects/LLVMProject/trunk/llvm/projects/libcxx/src/stdexcept.cpp:10:
/home/mdriftmeyer/DeveloperProjects/LLVMProject/trunk/llvm/projects/libcxx/include/type_traits:1716:13: error: ‘is_base_of’ was not declared in this scope
/home/mdriftmeyer/DeveloperProjects/LLVMProject/trunk/llvm/projects/libcxx/include/type_traits:1716:68: error: wrong number of template arguments (4, should be 3)
/home/mdriftmeyer/DeveloperProjects/LLVMProject/trunk/llvm/projects/libcxx/include/type_traits:1699:8: error: provided for ‘template<class _MP, class _Tp, bool > struct std::__1::result_of_mdp’
/home/mdriftmeyer/DeveloperProjects/LLVMProject/trunk/llvm/projects/libcxx/include/type_traits:1716:69: error: expected ‘{’ before ‘::’ token
/home/mdriftmeyer/DeveloperProjects/LLVMProject/trunk/llvm/projects/libcxx/include/type_traits:1716:76: error: expected initializer before ‘>’ token
In file included from /home/mdriftmeyer/DeveloperProjects/LLVMProject/trunk/llvm/projects/libcxx/include/stdexcept:46:0,
from /home/mdriftmeyer/DeveloperProjects/LLVMProject/trunk/llvm/projects/libcxx/src/stdexcept.cpp:10:
/home/mdriftmeyer/DeveloperProjects/LLVMProject/trunk/llvm/projects/libcxx/include/exception:195:20: error: ‘is_base_of’ was not declared in this scope
/home/mdriftmeyer/DeveloperProjects/LLVMProject/trunk/llvm/projects/libcxx/include/exception:193:39: error: parse error in template argument list
/home/mdriftmeyer/DeveloperProjects/LLVMProject/trunk/llvm/projects/libcxx/include/exception:193:39: error: expected nested-name-specifier
/home/mdriftmeyer/DeveloperProjects/LLVMProject/trunk/llvm/projects/libcxx/include/exception:196:37: error: expected unqualified-id before ‘>’ token
/home/mdriftmeyer/DeveloperProjects/LLVMProject/trunk/llvm/projects/libcxx/include/exception:196:37: error: expected ‘)’ before ‘>’ token
/home/mdriftmeyer/DeveloperProjects/LLVMProject/trunk/llvm/projects/libcxx/include/exception:196:37: error: expected initializer before ‘>’ token
/home/mdriftmeyer/DeveloperProjects/LLVMProject/trunk/llvm/projects/libcxx/include/exception:214:19: error: ‘is_base_of’ was not declared in this scope
/home/mdriftmeyer/DeveloperProjects/LLVMProject/trunk/llvm/projects/libcxx/include/exception:212:39: error: parse error in template argument list
/home/mdriftmeyer/DeveloperProjects/LLVMProject/trunk/llvm/projects/libcxx/include/exception:212:39: error: expected nested-name-specifier
/home/mdriftmeyer/DeveloperProjects/LLVMProject/trunk/llvm/projects/libcxx/include/exception:215:37: error: expected unqualified-id before ‘>’ token
/home/mdriftmeyer/DeveloperProjects/LLVMProject/trunk/llvm/projects/libcxx/include/exception:215:37: error: expected ‘)’ before ‘>’ token
/home/mdriftmeyer/DeveloperProjects/LLVMProject/trunk/llvm/projects/libcxx/include/exception:215:37: error: expected initializer before ‘>’ token
make[2]: *** [projects/libcxx/lib/CMakeFiles/cxx.dir/
/src/stdexcept.cpp.o] Error 1
make[1]: *** [projects/libcxx/lib/CMakeFiles/cxx.dir/all] Error 2
make: *** [all] Error 2
mdriftmeyer@horus:~/DeveloperProjects/LLVMProject/cmake-llvm$

  • Marc