http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49383
--- Comment #2 from Peter Bergner <bergner at gcc dot gnu.org> 2011-06-17 15:53:39 UTC --- We die on this assert: gcc_assert (cgraph_function_or_thunk_node (node, NULL) == node); Here's a couple of dumps of the two decls if that helps. (gdb) frame 1 (gdb) ptree node->decl <function_decl 0xfffb6f7ca00 __comp_dtor type <method_type 0xfffb6fe9108 type <void_type 0xfffb6e40d20 void asm_written type_6 VOID align 8 symtab 0 alias set -1 canonical type 0xfffb6e40d20 pointer_to_this <pointer_type 0xfffb6e40dc8>> SI size <integer_cst 0xfffb6d52420 constant 32> unit size <integer_cst 0xfffb6d52440 constant 4> align 32 symtab 0 alias set -1 canonical type 0xfffb6fe9108 method basetype <record_type 0xfffb6fe8c70 __array_type_info> arg-types <tree_list 0xfffb6f8b2e8 value <pointer_type 0xfffb6fe8f10> chain <tree_list 0xfffb6dd07f8 value <void_type 0xfffb6e40d20 void>>> pointer_to_this <pointer_type 0xfffb6fe94f8>> addressable used public static decl_5 SI file /home/bergner/gcc/gcc-mainline-20110614/libstdc++-v3/libsupc++/array_type_info.cc line 29 col 1 align 32 context <record_type 0xfffb6fe8c70 __array_type_info> initial <block 0xfffb6e84150> abstract_origin <function_decl 0xfffb6f7c600 __array_type_info> arguments <parm_decl 0xfffb6e17d60 this type <pointer_type 0xfffb6fe8fb8 type <record_type 0xfffb6fe8c70 __array_type_info> readonly unsigned SI size <integer_cst 0xfffb6d52420 32> unit size <integer_cst 0xfffb6d52440 4> align 32 symtab 4095 alias set -1 canonical type 0xfffb6fe8fb8> readonly used unsigned SI file /home/bergner/gcc/gcc-mainline-20110614/libstdc++-v3/libsupc++/array_type_info.cc line 30 col 21 size <integer_cst 0xfffb6d52420 32> unit size <integer_cst 0xfffb6d52440 4> align 32 context <function_decl 0xfffb6f7ca00 __comp_dtor > abstract_origin <parm_decl 0xfffb7024620 this> arg-type <pointer_type 0xfffb6fe8fb8>> result <result_decl 0xfffb6d82800 D.2747 type <void_type 0xfffb6e40d20 void> ignored VOID file /home/bergner/gcc/gcc-mainline-20110614/libstdc++-v3/libsupc++/array_type_info.cc line 31 col 2 align 8 context <function_decl 0xfffb6f7ca00 __comp_dtor >> full-name "__cxxabiv1::__array_type_info::~__array_type_info()" pending-inline-info 0xfffb6d25c50 (mem:SI (symbol_ref:SI ("_ZN10__cxxabiv117__array_type_infoD1Ev") [flags 0x1] <function_decl 0xfffb6f7ca00 __comp_dtor >) [0 S4 A32]) struct-function 0xfffb6e08890 chain <function_decl 0xfffb6f7c900 __deleting_dtor >> (gdb) p cgraph_function_or_thunk_node (node, NULL) $9 = (struct cgraph_node *) 0xfffb6fb9000 (gdb) ptree $9->decl <function_decl 0xfffb6f7cb00 __base_dtor type <method_type 0xfffb6fe9108 type <void_type 0xfffb6e40d20 void asm_written type_6 VOID align 8 symtab 0 alias set -1 canonical type 0xfffb6e40d20 pointer_to_this <pointer_type 0xfffb6e40dc8>> SI size <integer_cst 0xfffb6d52420 constant 32> unit size <integer_cst 0xfffb6d52440 constant 4> align 32 symtab 0 alias set -1 canonical type 0xfffb6fe9108 method basetype <record_type 0xfffb6fe8c70 __array_type_info> arg-types <tree_list 0xfffb6f8b2e8 value <pointer_type 0xfffb6fe8f10> chain <tree_list 0xfffb6dd07f8 value <void_type 0xfffb6e40d20 void>>> pointer_to_this <pointer_type 0xfffb6fe94f8>> asm_written public static decl_5 SI file /home/bergner/gcc/gcc-mainline-20110614/libstdc++-v3/libsupc++/array_type_info.cc line 29 col 1 align 32 context <record_type 0xfffb6fe8c70 __array_type_info> initial <error_mark 0xfffb6de1d58> abstract_origin <function_decl 0xfffb6f7c600 __array_type_info> arguments <parm_decl 0xfffb6e17ef8 this type <pointer_type 0xfffb6fe8fb8 type <record_type 0xfffb6fe8c70 __array_type_info> readonly unsigned SI size <integer_cst 0xfffb6d52420 32> unit size <integer_cst 0xfffb6d52440 4> align 32 symtab 4095 alias set -1 canonical type 0xfffb6fe8fb8> readonly used unsigned SI file /home/bergner/gcc/gcc-mainline-20110614/libstdc++-v3/libsupc++/array_type_info.cc line 30 col 21 size <integer_cst 0xfffb6d52420 32> unit size <integer_cst 0xfffb6d52440 4> align 32 context <function_decl 0xfffb6f7cb00 __base_dtor > abstract_origin <parm_decl 0xfffb7024620 this> (mem/f/c/i:SI (plus:SI (reg/f:SI 113 sfp) (const_int 8 [0x8])) [0 this+0 S4 A32]) arg-type <pointer_type 0xfffb6fe8fb8> incoming-rtl (reg:SI 3 3 [ this ])> result <result_decl 0xfffb6d82680 D.2744 type <void_type 0xfffb6e40d20 void> ignored VOID file /home/bergner/gcc/gcc-mainline-20110614/libstdc++-v3/libsupc++/array_type_info.cc line 31 col 2 align 8 context <function_decl 0xfffb6f7cb00 __base_dtor >> full-name "__cxxabiv1::__array_type_info::~__array_type_info()" pending-inline-info 0xfffb6d25b70 (mem:SI (symbol_ref:SI ("_ZN10__cxxabiv117__array_type_infoD2Ev") [flags 0x1] <function_decl 0xfffb6f7cb00 __base_dtor >) [0 S4 A32]) chain <function_decl 0xfffb6f7ca00 __comp_dtor >>