Compiling trivial C++ applications with clang++ result in errors. Reproducible: Always Steps to Reproduce: 1. Create a C++ file containing #include <string> 2. Switch to gcc-4.6.1 with gcc-config 3. Compile with clang++ -c Actual Results: In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.1/include/g++-v4/string:41: In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.1/include/g++-v4/bits/char_traits.h:40: /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.1/include/g++-v4/bits/stl_algobase.h:378:43: error: unexpected type name '_ValueTypeI': expected expression const bool __simple = (__is_trivial(_ValueTypeI) ^ /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.1/include/g++-v4/bits/stl_algobase.h:383:40: error: non-type template argument of type 'const bool' is not an integral constant expression return std::__copy_move<_IsMove, __simple, ^~~~~~~~ (cut) This is a blocker for Bug 346809 (gcc-4.6 tracker). See also LLVM bugzilla: http://llvm.org/bugs/show_bug.cgi?id=9472
Fixed in 4.6.2.