[PATCH] Fix inclusion of cxxabi_forced.h in dynamic_bitset
Joe Seymour
jseymour@codesourcery.com
Mon Oct 8 15:14:00 GMT 2012
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
More information about the Libstdc++
mailing list