[Bug optimization/13584] [tree-ssa] ICE building libstdc++-v3 for arm-elf, frv-elf, mips-elf, etc

green at redhat dot com gcc-bugzilla@gcc.gnu.org
Thu Jan 8 19:32:00 GMT 2004


------- Additional Comments From green at redhat dot com  2004-01-08 19:32 -------
This is still failing, so I took a closer look at the arm-elf failure.  GDB says
it's dying here:

#0  0x08283c91 in expand_assignment (to=0xb68843a0, from=0xb667fec4,
    want_value=0) at ../../src/HEAD-2004-01-07/gcc/expr.c:3873

Which is this bit of code...

  if (TREE_CODE (from) == CALL_EXPR && ! aggregate_value_p (from, from)
      && TREE_CODE (TYPE_SIZE (TREE_TYPE (from))) == INTEGER_CST
      && ! ((TREE_CODE (to) == VAR_DECL || TREE_CODE (to) == PARM_DECL)
            && GET_CODE (DECL_RTL (to)) == REG))

The problem is that "from" has a VOID type, and 
TYPE_SIZE (TREE_TYPE (from)) == 0x0 

I hope this helps!

(gdb) p from
$7 = 0xb667fec4
(gdb) pt
 <call_expr 0xb667fec4
    type <void_type 0xb7485e0c void type_6 VOID
        align 8 symtab 0 alias set -1
        pointer_to_this <pointer_type 0xb7485e80>>
    side-effects
    arg 0 <addr_expr 0xb6869340
        type <pointer_type 0xb68842b8 type <method_type 0xb6859e80>
            unsigned SI
            size <integer_cst 0xb7499b58 constant invariant 32>
            unit size <integer_cst 0xb7499b88 constant invariant 4>
            align 32 symtab 0 alias set -1>
        constant invariant
        arg 0 <function_decl 0xb6882a6c *.LTHUNK0 type <method_type 0xb6859e80>
            addressable asm_written used no-static-chain decl_5 decl_6 SI file
\../../../../../src/HEAD-2004-01-07/libstdc++-v3/src/strstream.cc line 357
initi\al <error_mark 0xb7496a10>
                                                                                
            (mem:SI (symbol_ref:SI ("^*.LTHUNK0") <function_decl 0xb6882a6c
*.L\THUNK0>) [0 S4 A32])>>
    arg 1 <tree_list 0xb685baf8
        value <var_decl 0xb6884740 T.728 type <pointer_type 0xb6859000>
            unsigned used ignored SI file
/opt/spindazzle/gnutools/build-X-arm-\elf/arm-elf/thumb/libstdc++-v3/include/backward/strstream
line 120
            size <integer_cst 0xb6888d68 constant invariant 32>
            unit size <integer_cst 0xb6888d80 constant invariant 4>
            align 32 context <function_decl 0xb683f740
_ZTv0_n12_NSt10istrstrea\mD0Ev>
            (reg/f:SI 72 [ T.728 ])>>
   
/opt/spindazzle/gnutools/build-X-arm-elf/arm-elf/thumb/libstdc++-v3/include\/backward/strstream:120>

-- 


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



More information about the Gcc-bugs mailing list