bootstrap of ast fails on Linux/x86-64

Graham Stott graham.stott@btinternet.com
Wed Feb 5 19:02:00 GMT 2003


Andreas,

Andreas Jaeger wrote:
> Trying to bootstrap the current ast branch, I get this failure on
> Linux/x86-64:
> 
> stage1/xgcc -Bstage1/ -B/opt/gcc/tree-ssa-20020619-branch/x86_64-unknown-linux-gnu/bin/ -c -g -O2       -gnatpg -gnata -I- -I. -Iada -I/usr/src/aj/cvs/gcc-tree-ssa-20020619-branch/gcc/ada /usr/src/aj/cvs/gcc-tree-ssa-20020619-branch/gcc/ada/errout.adb -o ada/errout.o
> +===========================GNAT BUG DETECTED==============================+
> | 3.5-tree-ssa 20030202 (experimental) (x86_64-unknown-linux-gnu) GCC error:|
> | in walk_tree, at tree-inline.c:1394                                      |
> | Error detected at /usr/src/aj/cvs/gcc-tree-ssa-20020619-branch/gcc/ada/errout.adb:477:28|
> | Please submit a bug report; see http://gcc.gnu.org/bugs.html.            |
> | Include the entire contents of this bug box in the report.               |
> | Include the exact gcc or gnatmake command that you entered.              |
> | Also include sources listed below in gnatchop format                     |
> | concatenated together with no headers between files.                     |
> +==========================================================================+
> 
> 
> Andreas

I think this occurs on all targets when bootstrapping with ADA in the tree.

It occurs because walk_tree comes across a PLACEHOLDER_EXPR node which isn't handled
by the switch statement so it triggers the abort () in the default case.

Here's a typical node which triggers the abort.

  <placeholder_expr 0x401b01c0
     type <record_type 0x401ae690 types__string_ptr asm_written type_0 DI
         size <integer_cst 0x400255e0 constant 64>
         unit size <integer_cst 0x400257c0 constant 8>
         user align 64 symtab 1073875448 alias set 25
         fields <field_decl 0x401ae7e0 P_ARRAY type <pointer_type 0x401aed90>
             unsigned nonaddressable SI file tree-ssa-branch/gcc/gcc/ada/errout.ads line 52
             size <integer_cst 0x40025820 constant 32>
             unit size <integer_cst 0x40025880 constant 4>
             align 32 offset_align 128
             offset <integer_cst 0x400258a0 constant 0>
             bit offset <integer_cst 0x40025960 constant 0> context <record_type 0x401ae690 types__string_ptr> arguments <integer_cst 0x400258a0 0> chain <field_decl 0x401ae850 P_BOUNDS>
             tree-ssa-branch/gcc/gcc/ada/errout.ads:52>
         unconstrained array <unconstrained_array_type 0x401ae700 string type <record_type 0x401ae690 types__string_ptr>
             BLK
             align 8 symtab 0 alias set -1
             pointer_to_this <record_type 0x401ae690 types__string_ptr> reference_to_this <record_type 0x401ae690 types__string_ptr>>
         chain <type_decl 0x401ae8c0 string___XUP>>
    >

If my memory serves me correctly the Ada front makes more use of PLACEHOLDER_EXPR nodes than the
other front ends.

Cheers
Graham



More information about the Gcc-bugs mailing list