------- Comment #1 from hjl dot tools at gmail dot com 2009-11-18 16:41 ------- I got
lto1: error: edge points to wrong declaration:^M <function_decl 0x7f77d2abe000 __base_dtor ^M type <method_type 0x7f77d2ab9210^M type <void_type 0x7f77d2bb0dc0 VOID^M align 8 symtab 0 alias set -1 canonical type 0x7f77d2bb0dc0^M pointer_to_this <pointer_type 0x7f77d2bb0e70>>^M QI^M size <integer_cst 0x7f77d2ba2180 constant 8>^M unit size <integer_cst 0x7f77d2ba21b0 constant 1>^M align 8 symtab 0 alias set -1 canonical type 0x7f77d2ab9210 method basetype <record_type 0x7f77d2ab9370 C>^M arg-types <tree_list 0x7f77d2ab39f0 value <pointer_type 0x7f77d2ab92c0>^M chain <tree_list 0x7f77d2ba2d50 value <void_type 0x7f77d2bb0dc0>>>^M pointer_to_this <pointer_type 0x7f77d2ac1420>>^M nothrow public static QI file /export/gnu/import/svn/gcc-test/src-trunk/gcc/testsuite/g++.dg/lto/20081118-1_0.C line 17 col 1 align 16 initial <block 0x7f77d2aba300> abstract_origin <function_decl 0x7f77d2ab8c00 C>^M arguments <parm_decl 0x7f77d2baa880 this^M type <pointer_type 0x7f77d2ab96e0 type <record_type 0x7f77d2ab9370 C>^M readonly unsigned SI^M size <integer_cst 0x7f77d2ba2420 constant 32>^M unit size <integer_cst 0x7f77d2ba2090 constant 4>^M align 32 symtab 0 alias set -1 canonical type 0x7f77d2ab96e0>^M readonly unsigned SI file /export/gnu/import/svn/gcc-test/src-trunk/gcc/testsuite/g++.dg/lto/20081118-1_0.C line 17 col 7 size <integer_cst 0x7f77d2ba2420 32> unit size <integer_cst 0x7f77d2ba2090 4>^M align 32 context <function_decl 0x7f77d2abe000 __base_dtor > abstract_origin <parm_decl 0x7f77d2baa4c8 this> arg-type <pointer_type 0x7f77d2ab96e0>>^M result <result_decl 0x7f77d2abc400 D.2037 type <void_type 0x7f77d2bb0dc0>^M ignored VOID file /export/gnu/import/svn/gcc-test/src-trunk/gcc/testsuite/g++.dg/lto/20081118-1_0.C line 19 col 1^M align 8 context <function_decl 0x7f77d2abe000 __base_dtor >>^M struct-function 0x7f77d2bae1b0>^M Instead of: <function_decl 0x7f77d2ab8900 __comp_dtor ^M type <method_type 0x7f77d2ab9210^M type <void_type 0x7f77d2bb0dc0 VOID^M align 8 symtab 0 alias set -1 canonical type 0x7f77d2bb0dc0^M pointer_to_this <pointer_type 0x7f77d2bb0e70>>^M QI^M size <integer_cst 0x7f77d2ba2180 constant 8>^M unit size <integer_cst 0x7f77d2ba21b0 constant 1>^M align 8 symtab 0 alias set -1 canonical type 0x7f77d2ab9210 method basetype <record_type 0x7f77d2ab9370 C>^M arg-types <tree_list 0x7f77d2ab39f0 value <pointer_type 0x7f77d2ab92c0>^M chain <tree_list 0x7f77d2ba2d50 value <void_type 0x7f77d2bb0dc0>>>^M pointer_to_this <pointer_type 0x7f77d2ac1420>>^M addressable used public external virtual QI file /export/gnu/import/svn/gcc-test/src-trunk/gcc/testsuite/g++.dg/lto/20081118-1_1.C line 4 col 11 align 16 abstract_origin <function_decl 0x7f77d2ab8a00 C>^M arguments <parm_decl 0x7f77d2baa440 this^M type <pointer_type 0x7f77d2ab96e0 type <record_type 0x7f77d2ab9370 C>^M readonly unsigned SI^M size <integer_cst 0x7f77d2ba2420 constant 32>^M unit size <integer_cst 0x7f77d2ba2090 constant 4>^M align 32 symtab 0 alias set -1 canonical type 0x7f77d2ab96e0>^M readonly unsigned SI file /export/gnu/import/svn/gcc-test/src-trunk/gcc/testsuite/g++.dg/lto/20081118-1_1.C line 4 col 14 size <integer_cst 0x7f77d2ba2420 32> unit size <integer_cst 0x7f77d2ba2090 4>^M align 32 context <function_decl 0x7f77d2ab8900 __comp_dtor > arg-type <pointer_type 0x7f77d2ab96e0>>>^M -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42095