This is the mail archive of the gcc-bugs@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: bootstrap of ast fails on Linux/x86-64


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


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