This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: libstdc++ bootstrap failure, today's 3.2 on sparcv9-sun-solaris2.8
- From: Bryce McKinlay <bryce at waitaki dot otago dot ac dot nz>
- To: Brad Lucier <lucier at math dot purdue dot edu>
- Cc: Richard Henderson <rth at redhat dot com>, gcc-patches at gcc dot gnu dot org
- Date: Fri, 24 May 2002 20:33:36 +1200
- Subject: Re: libstdc++ bootstrap failure, today's 3.2 on sparcv9-sun-solaris2.8
- References: <200205240237.g4O2beS03224@banach.math.purdue.edu>
Brad Lucier wrote:
>OK, here's what happens with today's CVS of 3.2 (seems there's no need to
>change the subject line ...;-)
>
>/export/u3/lucier/programs/gcc/gcc-3.2/objdir-sparcv9/gcc/xgcc -shared-libgcc -B/export/u3/lucier/programs/gcc/gcc-3.2/objdir-sparcv9/gcc/ -nostdinc++ -L/export/u3/lucier/programs/gcc/gcc-3.2/objdir-sparcv9/sparcv9-sun-solaris2.8/sparcv7/libstdc++-v3/src -L/export/u3/lucier/programs/gcc/gcc-3.2/objdir-sparcv9/sparcv9-sun-solaris2.8/sparcv7/libstdc++-v3/src/.libs -B/home/c/lucier/local/gcc-test/sparcv9-sun-solaris2.8/bin/ -B/home/c/lucier/local/gcc-test/sparcv9-sun-solaris2.8/lib/ -isystem /home/c/lucier/local/gcc-test/sparcv9-sun-solaris2.8/include -m32 -I../../../../../libstdc++-v3/../gcc -I../../../../../libstdc++-v3/../include -I/export/u3/lucier/programs/gcc/gcc-3.2/objdir-sparcv9/sparcv9-sun-solaris2.8/sparcv7/libstdc++-v3/include/sparcv9-sun-solaris2.8 -I/export/u3/lucier/programs/gcc/gcc-3.2/objdir-sparcv9/sparcv9-sun-solaris2.8/sparcv7/libstdc++-v3/include -I../../../../../libstdc++-v3/libsupc++ -g -O2 -m32 -fno-implicit-templates -Wall -Wno-format -W -Wwrite-strings!
> -Winline -fdiagnostics-show-location=once -ffunction-sections -fdata-sections -g -c ../../../../../libstdc++-v3/libsupc++/del_op.cc -fPIC -DPIC -o del_op.o
>In file included from ../../../../../libstdc++-v3/libsupc++/new:42,
> from ../../../../../libstdc++-v3/libsupc++/del_op.cc:31:
>../../../../../libstdc++-v3/libsupc++/exception:72: Internal compiler error in
> decl_type_context, at tree.c:4229
>Please submit a full bug report,
>with preprocessed source if appropriate.
>
This is a problem with dbxout, it doesn't happen using dwarf2. It seems
that dbxout doesn't handle a typedef who's DECL_CONTEXT is a namespace.
This patch makes everything build. Note that dbxout is one of only two
places in the compiler where decl_type_context() is used - the other is
in cp/typeck.c. OK to commit?
2002-05-24 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
* tree.c (decl_type_context): Return NULL_TREE if decl's context is a
namespace.
Index: tree.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/tree.c,v
retrieving revision 1.258
diff -u -r1.258 tree.c
--- tree.c 22 May 2002 01:11:17 -0000 1.258
+++ tree.c 24 May 2002 08:32:00 -0000
@@ -4212,6 +4212,9 @@
while (context)
{
+ if (TREE_CODE (context) == NAMESPACE_DECL)
+ return NULL_TREE;
+
if (TREE_CODE (context) == RECORD_TYPE
|| TREE_CODE (context) == UNION_TYPE
|| TREE_CODE (context) == QUAL_UNION_TYPE)