On 10/06/12 01:50, Paolo Carlini wrote: > On 10/06/2012 02:33 AM, Joe Seymour wrote: >> I'm seeing tr2/headers/all.cc fail in the libstdc++ testsuite: >> >> In file included from >> src/gcc-mainline/libstdc++-v3/testsuite/tr2/headers/all.cc:22:0: >> /scratch/jseymour/mainline/i686-pc-linux-gnu/install/opt/codesourcery/include/c++/4.8.0/tr2/dynamic_bitset:42:27: >> fatal error: cxxabi_forced.h: No such file or directory >> #include <cxxabi_forced.h> >> ^ >> compilation terminated. >> >> >> From libstdc++-v3/libsupc++/Makefile.am: >>> bits_HEADERS = \ >>> atomic_lockfree_defines.h cxxabi_forced.h \ >>> exception_defines.h exception_ptr.h hash_bytes.h nested_exception.h >> Looking at how other headers in that list are treated, I believe it is the >> include of cxxabi_forced.h in dynamic_bitset at fault. This patch corrects >> it. > I'm pretty sure you are right. Any idea why the test isn't failing for > anybody else?
I was surprised not to find any other references to this failure as well, especially as I observed the failure with pristine FSF sources. I've had a closer look: * We (CodeSourcery/Mentor) test the installation directory, with something like: g++ -D_GLIBCXX_ASSERT -fmessage-length=0 -DLOCALEDIR="." -I/scratch/jseymour/mainline/i686-pc-linux-gnu/src/gcc-mainline/libstdc++-v3/testsuite/util \ /scratch/jseymour/mainline/i686-pc-linux-gnu/src/gcc-mainline/libstdc++-v3/testsuite/tr2/headers/all.cc -std=gnu++0x -S -o all.s * The standard "make check" invocation tests the objdir/srcdir with a longer command, passing various paths etc, in particular: -I/scratch/jseymour/mainline/i686-pc-linux-gnu/src/gcc-mainline/libstdc++-v3/libsupc++ Because all the headers in libstdc++-v3 are in that directory cxxabi_forced.h is found successfully. It is the Makefile that places it in a different directory during installation. I suppose to get this test working correctly, we need to move the files listed in bits_HEADERS into a bits/ directory in the source tree, then make appropriate changes to cater for the adjusted directory layout. Joe