[cfe-dev] [3.5 Release] test-release.sh intended behaviour (was <cxxabi.h> not found by clang-3.5 rc1 with libc++)

Ben Pope benpope81 at gmail.com
Tue Aug 12 01:53:05 PDT 2014


ben:~/development/test$ cat abi.cpp
#include <cxxabi.h>

int main() {}

ben:~/development/test$ clang++-3.4 -stdlib=libc++ abi.cpp
ben:~/development/test$ clang++-3.5 -stdlib=libc++ abi.cpp
abi.cpp:1:10: fatal error: 'cxxabi.h' file not found
#include <cxxabi.h>
           ^
1 error generated.

clang-3.5.0-rc2 is trying to use the libc++ from its 
binary_directory/../include/c++/v1 but there doesn't seem to be a libc++ 
being built anywhere, and there doesn't seem to be an abi layer in use.

Does anybody know if ./llvm.src/utils/release/test-release.sh is 
supposed to build a working libc++?  I thought I read recently that 
libc++abi was made the default when building libc++ in-tree, but perhaps 
that's for clang-3.6.

What's the intended behaviour?  Is this a problem for the release? 
Should I be building or installing a libc++ separately? (I do, but it 
doesn't get picked up)

When I build libc++ from trunk against libc++abi, cxxabi.h is installed 
into include/c++/v1/

I feel this would be much better if test-release would build libc++ 
against libc++abi and produce shared libraries and put them in the lib dir.

At least then:

clang++ -stdlib=libc++ file.cpp

would have a chance of working, instead of being stuck with libstdc++.

Ben




More information about the cfe-dev mailing list