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

--- Comment #5 from David Edelsohn <dje at gcc dot gnu.org> 2011-11-16 18:30:29 
UTC ---
The rs6000.c failure looks like rs6000_xcoff_section_type_flags() should deal
with decl == NULL.

But the other similar failure is in trans-mem.c:

(gdb) where
#0  internal_error (
    gmsgid=0x10bcf1dc "tree check: %s, have %s in %s, at %s:%d")
    at /farm/dje/src/src/gcc/diagnostic.c:844
#1  0x10131540 in tree_check_failed (node=0x0, 
    file=0x10c68e50 "/farm/dje/src/src/gcc/trans-mem.c", line=4107, 
    function=0x10c68ec8 "tm_mangle") at /farm/dje/src/src/gcc/tree.c:8815
#2  0x10881f00 in tm_mangle (old_asm_id=0x0)
    at /farm/dje/src/src/gcc/trans-mem.c:4107
#3  0x1088ca48 in ipa_tm_execute () at /farm/dje/src/src/gcc/trans-mem.c:8862
#4  0x1019f6e8 in execute_one_pass (pass=0x300f7d7c)
    at /farm/dje/src/src/gcc/passes.c:2074
#5  0x101a0104 in execute_ipa_pass_list (pass=0x300f7d7c)
    at /farm/dje/src/src/gcc/passes.c:2441
#6  0x1048eb38 in cgraph_optimize () at /farm/dje/src/src/gcc/cgraphunit.c:4155
#7  0x1048f2a8 in cgraph_finalize_compilation_unit ()
    at /farm/dje/src/src/gcc/cgraphunit.c:1327
#8  0x109453b8 in cp_write_global_declarations ()
    at /farm/dje/src/src/gcc/cp/decl2.c:4050
#9  0x100031a8 in toplev_main (argc=4, argv=0x2ff22268)
    at /farm/dje/src/src/gcc/toplev.c:581
#10 0x100003a0 in main (argc=280818140, argv=0x2ff21d90)
    at /farm/dje/src/src/gcc/main.c:36

DECL_COMDAT_GROUP (new_decl) = tm_mangle (DECL_COMDAT_GROUP (old_decl));


(gdb) print old_decl
$3 = 0x700d6000
(gdb) pt
 <function_decl 700d6000 __comp_dtor 
    type <method_type 700d4e40
        type <void_type 70014780 void VOID
            align 8 symtab 0 alias set -1 canonical type 70014780
            pointer_to_this <pointer_type 700147e0>>
        SI
        size <integer_cst 70005620 constant 32>
        unit size <integer_cst 70005640 constant 4>
        align 32 symtab 0 alias set -1 canonical type 700d4d20
        attributes <tree_list 700d2660
            purpose <identifier_node 700bf2d8 transaction_safe
                bindings <0>
                local bindings <0>>> method basetype <record_type 700d4b40
shared_count>
        arg-types <tree_list 700d2648 value <pointer_type 700d4d80>
            chain <tree_list 70013d80 value <void_type 70014780 void>>>
        pointer_to_this <pointer_type 700da6c0>>
    addressable used public static weak autoinline decl_5 SI defer-output file
/farm/dje/src/src/gcc/testsuite/g++.dg/tm/pr45940-3.C line 53 col 5 align 32
context <record_type 700d4b40 shared_count> initial <block 7001acc0>
abstract_origin <function_decl 700c6f00 shared_count>
    arguments <parm_decl 700d03c8 this
        type <pointer_type 700d4de0 type <record_type 700d4b40 shared_count>
            readonly unsigned SI size <integer_cst 70005620 32> unit size
<integer_cst 70005640 4>
            align 32 symtab 0 alias set -1 canonical type 700d4de0>
        readonly used unsigned SI file
/farm/dje/src/src/gcc/testsuite/g++.dg/tm/pr45940-3.C line 53 col 19 size
<integer_cst 70005620 32> unit size <integer_cst 70005640 4>
        align 32 context <function_decl 700d6000 __comp_dtor > abstract_origin
<parm_decl 700d0268 this> arg-type <pointer_type 700d4de0>>
    result <result_decl 700c2910 D.2008 type <void_type 70014780 void>
        ignored VOID file /farm/dje/src/src/gcc/testsuite/g++.dg/tm/pr45940-3.C
line 56 col 5
        align 8 context <function_decl 700d6000 __comp_dtor >>
    full-name "shared_count::~shared_count()"
    pending-inline-info 700d7b00
    struct-function 700da2a0>
(gdb) print new_decl
$4 = 0x700e5480
(gdb) pt
 <function_decl 700e5480 __comp_dtor 
    type <method_type 700d4e40
        type <void_type 70014780 void VOID
            align 8 symtab 0 alias set -1 canonical type 70014780
            pointer_to_this <pointer_type 700147e0>>
        SI
        size <integer_cst 70005620 constant 32>
        unit size <integer_cst 70005640 constant 4>
        align 32 symtab 0 alias set -1 canonical type 700d4d20
        attributes <tree_list 700d2660
            purpose <identifier_node 700bf2d8 transaction_safe
                bindings <0>
                local bindings <0>>> method basetype <record_type 700d4b40
shared_count>
        arg-types <tree_list 700d2648 value <pointer_type 700d4d80>
            chain <tree_list 70013d80 value <void_type 70014780 void>>>
        pointer_to_this <pointer_type 700da6c0>>
    addressable used public static weak autoinline decl_5 SI defer-output file
/farm/dje/src/src/gcc/testsuite/g++.dg/tm/pr45940-3.C line 53 col 5 align 32
context <record_type 700d4b40 shared_count> initial <block 7001acc0>
abstract_origin <function_decl 700c6f00 shared_count>
    arguments <parm_decl 700d03c8 this
        type <pointer_type 700d4de0 type <record_type 700d4b40 shared_count>
            readonly unsigned SI size <integer_cst 70005620 32> unit size
<integer_cst 70005640 4>
            align 32 symtab 0 alias set -1 canonical type 700d4de0>
        readonly used unsigned SI file
/farm/dje/src/src/gcc/testsuite/g++.dg/tm/pr45940-3.C line 53 col 19 size
<integer_cst 70005620 32> unit size <integer_cst 70005640 4>
        align 32 context <function_decl 700d6000 __comp_dtor > abstract_origin
<parm_decl 700d0268 this> arg-type <pointer_type 700d4de0>>
    result <result_decl 700c2910 D.2008 type <void_type 70014780 void>
        ignored VOID file /farm/dje/src/src/gcc/testsuite/g++.dg/tm/pr45940-3.C
line 56 col 5
        align 8 context <function_decl 700d6000 __comp_dtor >>
    full-name "shared_count::~shared_count()"
    pending-inline-info 700d7b00
    struct-function 700da2a0>

Reply via email to