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

Reply via email to