libc++ problem on Linux with copy_assign.pass.cpp


Testing libc++ on upcoming openSUSE 13.1 results in a weird linker error:

[/havana/t]> clang++ -stdlib=libc++ copy_assign.pass.cpp
/tmp/copy_assign-vRKC6j.o:(.rodata._ZTIFiiE[_ZTIFiiE]+0x0): undefined reference to vtable for __cxxabiv1::__function_type_info' /tmp/copy_assign-vRKC6j.o:(.rodata._ZTIPFiiE[_ZTIPFiiE]+0x0): undefined reference to vtable for __cxxabiv1::__pointer_type_info’
clang: error: linker command failed with exit code 1 (use -v to see invocation)

[/havana/t]> clang -v
SUSE Linux clang version 3.3 (trunk 180017) (based on LLVM 3.3svn)
Target: x86_64-unknown-linux-gnu
Thread model: posix

libc++ svn r180255

Any ideas?

This will have something to do with the functionality provided (or not) by libc++abi. Here is one implementation of that library:

There are others. I'm not sure which, if any, is being used on openSUSE 13.1.




libcxxabi fixes this and shaves off ~80 other build failures. Total failures down to 112 on Linux which quite good :slight_smile: