This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: enhanced structure offset tracking


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]