[Bug ada/49084] [4.7 regression] bootstrap failure with Ada enabled

cestrauss at gmail dot com gcc-bugzilla@gcc.gnu.org
Thu Dec 8 01:24:00 GMT 2011


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49084

--- Comment #15 from Cesar Strauss <cestrauss at gmail dot com> 2011-12-08 01:23:31 UTC ---
(In reply to comment #14)
> Unfortunately I don't seem to be able to reproduce on Linux.  Could you see
> what object code has been generated for the line
> 
> gcc_assert (Nkind (gnat_root) == N_Compilation_Unit);
> 
> in stage1-gcc/ada/trans.o and prev-gcc/ada/trans.o?

In stage 1:

    .loc 26 300 0
    movl    _Nodes_Ptr, %eax     # Nodes_Ptr, Nodes_Ptr.1950
    movl    8(%ebp), %edx     # gnat_root, gnat_root.1951
    sall    $5, %edx     #, D.86803
    addl    %edx, %eax     # D.86803, D.86804
    movb    3(%eax), %al     # D.86804_24->U.K.kind, D.86805
    cmpb    $-87, %al     #, D.86805
    je    L4598     #,
    .loc 26 300 0 is_stmt 0 discriminator 1
    movl    $___FUNCTION__.42329, 8(%esp)     #,
    movl    $300, 4(%esp)     #,
    movl    $LC86, (%esp)     #,
    call    _fancy_abort     #
L4598:


In stage 2:

    .loc 2 300 0
    movl    80(%esp), %edx     # gnat_root,
    leal    (%edx,%edx,8), %eax     #, tmp414
    leal    (%ebx,%eax,4), %eax     #, D.84548
    cmpb    $-87, 3(%eax)     #, D.84548_25->U.K.kind
    jne    L8431     #,

BTW, in stage 2, the following does seems to work:

(gdb) p atree__nkind(gnat_root)
info__n_compilation_unit

The object code is

LFE829:
    .p2align 2,,3
    .globl    _atree__nkind
    .def    _atree__nkind;    .scl    2;    .type    32;    .endef
_atree__nkind:
LFB831:
    .loc 2 1326 0
    .cfi_startproc
LVL2409:
    movl    4(%esp), %eax     # n, tmp66
    .loc 2 1328 0
    sall    $5, %eax     #, tmp66
    addl    _atree__atree_private_part__nodes__table, %eax     #
atree__atree_private_part__nodes__table, tmp66
    movb    3(%eax), %al     #
*atree__atree_private_part__nodes__table.89_1[n_2(D)].nkind,
*atree__atree_private_part__nodes__table.89_1[n_2(D)].nkind
    .loc 2 1329 0
    ret
    .cfi_endproc



More information about the Gcc-bugs mailing list