This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: enhanced structure offset tracking
- From: Rainer Orth <ro at TechFak dot Uni-Bielefeld dot DE>
- To: Richard Henderson <rth at twiddle dot net>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: 08 Dec 2001 04:35:16 +0100
- Subject: Re: enhanced structure offset tracking
- References: <20011202111435.A6850@twiddle.net>
Richard Henderson <rth@twiddle.net> writes:
> The following tracks the field within a structure that a particular
> memory reference accesses. This is dreadfully important for some C++
> codes, since otherwise we can lose track of which member variables
> are being addressed.
This patch has broken bootstrap of alpha-dec-osf4.0f (and 5.1):
The tree bootstraps up to this patch:
Sun Dec 2 09:22:25 2001 Douglas B. Rupp <rupp@gnat.com>
* config/x-interix3 (SYSTEM_HEADER_DIR): Put back default.
but including the current one
2001-12-02 Richard Henderson <rth@redhat.com>
* rtl.h (mem_attrs): Rename decl to expr; adjust all users.
causes the stage2 compiler to SEGV compiling gencheck.c:
stage2/xgcc -Bstage2/ -B/vol/gcc/share/alpha-dec-osf4.0f/bin/ -c -DIN_GCC -g -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wtraditional -pedantic -Wno-long-long -DHAVE_CONFIG_H -DGENERATOR_FILE -I. -I. -I/vol/gnu/src/gcc/gcc-dist-dated/gcc -I/vol/gnu/src/gcc/gcc-dist-dated/gcc/. -I/vol/gnu/src/gcc/gcc-dist-dated/gcc/config -I/vol/gnu/src/gcc/gcc-dist-dated/gcc/../include /vol/gnu/src/gcc/gcc-dist-dated/gcc/gencheck.c -v
Reading specs from stage2/specs
Configured with: /vol/gnu/src/gcc/gcc-dist-dated/configure --prefix=/vol/gcc --with-local-prefix=/vol/gcc --disable-nls --enable-languages=c alpha-dec-osf4.0f
Thread model: single
gcc version 3.1 20011202 (experimental)
stage2/cc1 -lang-c -v -I. -I. -I/vol/gnu/src/gcc/gcc-dist-dated/gcc -I/vol/gnu/src/gcc/gcc-dist-dated/gcc/. -I/vol/gnu/src/gcc/gcc-dist-dated/gcc/config -I/vol/gnu/src/gcc/gcc-dist-dated/gcc/../include -iprefix stage2/../lib/gcc-lib/alpha-dec-osf4.0f/3.1/ -isystem include -isystem stage2/include -isystem /vol/gcc/share/alpha-dec-osf4.0f/bin/include -D__GNUC__=3 -D__GNUC_MINOR__=1 -D__GNUC_PATCHLEVEL__=0 -Dunix -D__osf__ -D_LONGLONG -DSYSTYPE_BSD -D_SYSTYPE_BSD -D__unix__ -D__osf__ -D_LONGLONG -D__SYSTYPE_BSD__ -D_SYSTYPE_BSD -D__unix -D__SYSTYPE_BSD -Asystem=unix -Asystem=xpg4 -D__OPTIMIZE__ -D__STDC_HOSTED__=1 -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wtraditional -Wno-long-long -pedantic -D__LANGUAGE_C__ -D__LANGUAGE_C -DLANGUAGE_C -Acpu=alpha -Amachine=alpha -D__alpha -D__alpha__ -D__alpha_ev4__ -Acpu=ev4 -DIN_GCC -DHAVE_CONFIG_H -DGENERATOR_FILE /vol/gnu/src/gcc/gcc-dist-dated/gcc/gencheck.c -quiet -dumpbase gencheck.c -g -O2 -W -Wall -Wwrite-st!
rings -Wstrict-prototypes -Wmissing-prototypes -Wtraditional -Wno-long-long -pedantic -version -o /tmp//ccGk5a6O.s
ignoring nonexistent directory "stage2/include"
ignoring nonexistent directory "/vol/gcc/share/alpha-dec-osf4.0f/bin/include"
GNU CPP version 3.1 20011202 (experimental) (cpplib)
GNU C version 3.1 20011202 (experimental) (alpha-dec-osf4.0f)
compiled by GNU C version 3.1 20011202 (experimental).
ignoring nonexistent directory "lib/gcc-lib/alpha-dec-osf4.0f/3.1/include"
ignoring nonexistent directory "/vol/gcc/lib/gcc-lib/alpha-dec-osf4.0f/3.1/include"
ignoring nonexistent directory "/vol/gcc/share/alpha-dec-osf4.0f/include"
ignoring duplicate directory "."
ignoring duplicate directory "/vol/gnu/src/gcc/gcc-dist-dated/gcc"
ignoring duplicate directory "/vol/gcc/include"
#include "..." search starts here:
#include <...> search starts here:
.
/vol/gnu/src/gcc/gcc-dist-dated/gcc
/vol/gnu/src/gcc/gcc-dist-dated/gcc/config
/vol/gnu/src/gcc/gcc-dist-dated/include
include
/vol/gcc/include
/usr/include
End of search list.
In file included from /vol/gnu/src/gcc/gcc-dist-dated/gcc/gencheck.c:27:
/vol/gnu/src/gcc/gcc-dist-dated/gcc/tree.def:46: internal error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
cc1 crashes with this stack trace:
Program received signal SIGSEGV, Segmentation fault.
0x120071e78 in process_init_element (value=0x257cc0)
at /vol/gnu/src/gcc/gcc-dist-dated/gcc/c-typeck.c:6530
6530 if (constructor_stack->replacement_value != 0)
(gdb) where
#0 0x120071e78 in process_init_element (value=0x257cc0)
at /vol/gnu/src/gcc/gcc-dist-dated/gcc/c-typeck.c:6530
#1 0x120071f50 in process_init_element (value=0x257c00)
at /vol/gnu/src/gcc/gcc-dist-dated/gcc/c-typeck.c:6553
#2 0x120039520 in yyparse_1 () at /vol/gnu/share/bison/bison.simple:1431
#3 0x1200414e8 in yyparse ()
at /vol/gnu/src/gcc/gcc-dist-dated/gcc/c-lex.c:160
#4 0x1200a97b0 in compile_file ()
at /vol/gnu/src/gcc/gcc-dist-dated/gcc/toplev.c:2127
#5 0x1200b08c0 in do_compile ()
at /vol/gnu/src/gcc/gcc-dist-dated/gcc/toplev.c:5156
#6 0x1200b0970 in toplev_main (argc=73, argv=0x11fffefc8)
at /vol/gnu/src/gcc/gcc-dist-dated/gcc/toplev.c:5186
#7 0x1200a4d10 in main (argc=2456768, argv=0x0)
at /vol/gnu/src/gcc/gcc-dist-dated/gcc/main.c:35
constructor_stack is NULL above. The problem goes away if compiling with
-save-temps.
I'll only be able to follow-up on this on monday: time to go to bed now.
Rainer
--
-----------------------------------------------------------------------------
Rainer Orth, Faculty of Technology, Bielefeld University
Email: ro@TechFak.Uni-Bielefeld.DE