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