On Linux/Intel64, revision 147294 gave: gcc -c -o function.o -DSPEC_CPU -DNDEBUG -I. -O3 -ffast-math -funroll-loops -DSPEC_CPU_LP64 function.c function.c:8078: error: edge points to wrong declaration: <function_decl 0x2b1ba1268f00 do_clobber_return_reg type <function_type 0x2b1ba0f45e40 type <void_type 0x2b1ba0b0b3c0 void VOID align 8 symtab 0 alias set -1 canonical type 0x2b1ba0b0b3c0 pointer_to_this <pointer_type 0x2b1ba0b0b480>> QI size <integer_cst 0x2b1ba0aec7e0 constant 8> unit size <integer_cst 0x2b1ba0aec810 constant 1> align 8 symtab 0 alias set -1 canonical type 0x2b1ba0f45f00 arg-types <tree_list 0x2b1ba113af90 value <pointer_type 0x2b1ba0c5e6c0 rtx> chain <tree_list 0x2b1ba113af60 value <pointer_type 0x2b1ba0b0b480> chain <tree_list 0x2b1ba0b099f0 value <void_type 0x2b1ba0b0b3c0 void>>>> pointer_to_this <pointer_type 0x2b1ba0f420c0>> addressable used nothrow static decl_5 QI file function.c line 6764 col 1 align 8 initial <block 0x2b1ba1543060> arguments <parm_decl 0x2b1ba102ba20 reg type <pointer_type 0x2b1ba0c5e6c0 rtx type <record_type 0x2b1ba0c5e3c0 rtx_def> sizes-gimplified public unsigned DI size <integer_cst 0x2b1ba0aecb70 constant 64> unit size <integer_cst 0x2b1ba0aecba0 constant 8> align 64 symtab 0 alias set -1 canonical type 0x2b1ba0c5e540 pointer_to_this <pointer_type 0x2b1ba1021000>> used unsigned DI file function.c line 6765 col 10 size <integer_cst 0x2b1ba0aecb70 64> unit size <integer_cst 0x2b1ba0aecba0 8> align 64 context <function_decl 0x2b1ba1268f00 do_clobber_return_reg> arg-type <pointer_type 0x2b1ba0c5e6c0 rtx> chain <parm_decl 0x2b1ba102bab0 arg type <pointer_type 0x2b1ba0b0b480> used unsigned DI file function.c line 6766 col 12 size <integer_cst 0x2b1ba0aecb70 64> unit size <integer_cst 0x2b1ba0aecba0 8> align 64 context <function_decl 0x2b1ba1268f00 do_clobber_return_reg> attributes <tree_list 0x2b1ba122c630> arg-type <pointer_type 0x2b1ba0b0b480>>> result <result_decl 0x2b1ba1542500 D.19286 type <void_type 0x2b1ba0b0b3c0 void> ignored VOID file function.c line 6765 col 6 align 8 context <function_decl 0x2b1ba1268f00 do_clobber_return_reg>> saved-insns 0x2b1ba102bb40 chain <function_decl 0x2b1ba126b000 do_use_return_reg>> Instead of: <function_decl 0x2b1ba126b000 do_use_return_reg type <function_type 0x2b1ba0f45e40 type <void_type 0x2b1ba0b0b3c0 void VOID align 8 symtab 0 alias set -1 canonical type 0x2b1ba0b0b3c0 pointer_to_this <pointer_type 0x2b1ba0b0b480>> QI size <integer_cst 0x2b1ba0aec7e0 constant 8> unit size <integer_cst 0x2b1ba0aec810 constant 1> align 8 symtab 0 alias set -1 canonical type 0x2b1ba0f45f00 arg-types <tree_list 0x2b1ba113af90 value <pointer_type 0x2b1ba0c5e6c0 rtx> chain <tree_list 0x2b1ba113af60 value <pointer_type 0x2b1ba0b0b480> chain <tree_list 0x2b1ba0b099f0 value <void_type 0x2b1ba0b0b3c0 void>>>> pointer_to_this <pointer_type 0x2b1ba0f420c0>> addressable used nothrow static decl_5 QI file function.c line 6789 col 1 align 8 initial <block 0x2b1ba1543480> arguments <parm_decl 0x2b1ba102bd80 reg type <pointer_type 0x2b1ba0c5e6c0 rtx type <record_type 0x2b1ba0c5e3c0 rtx_def> sizes-gimplified public unsigned DI size <integer_cst 0x2b1ba0aecb70 constant 64> unit size <integer_cst 0x2b1ba0aecba0 constant 8> align 64 symtab 0 alias set -1 canonical type 0x2b1ba0c5e540 pointer_to_this <pointer_type 0x2b1ba1021000>> used unsigned DI file function.c line 6790 col 10 size <integer_cst 0x2b1ba0aecb70 64> unit size <integer_cst 0x2b1ba0aecba0 8> align 64 context <function_decl 0x2b1ba126b000 do_use_return_reg> arg-type <pointer_type 0x2b1ba0c5e6c0 rtx> chain <parm_decl 0x2b1ba102be10 arg type <pointer_type 0x2b1ba0b0b480> used unsigned DI file function.c line 6791 col 12 size <integer_cst 0x2b1ba0aecb70 64> unit size <integer_cst 0x2b1ba0aecba0 8> align 64 context <function_decl 0x2b1ba126b000 do_use_return_reg> attributes <tree_list 0x2b1ba1228570> arg-type <pointer_type 0x2b1ba0b0b480>>> result <result_decl 0x2b1ba1542c80 D.19311 type <void_type 0x2b1ba0b0b3c0 void> ignored VOID file function.c line 6790 col 6 align 8 context <function_decl 0x2b1ba126b000 do_use_return_reg>> saved-insns 0x2b1ba102bea0 chain <var_decl 0x2b1ba125a1e0 outer_function_chain>> specmake[3]: *** [function.o] Error 1
-- Summary: [4.5 Regression] 403.gcc in SPEC CPU 2006 failed at -O3 Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: hjl dot tools at gmail dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40083