[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#349268: gcc-4.0: ICE building clisp on amd64.



Package: gcc-4.0
Version: 4.0.2-7
Severity: important

Hi,

When building clisp on amd64, I'm getting the following error:
gcc  -W -Wswitch -Wcomment -Wpointer-arith -Wimplicit -Wreturn-type -Wmissing-d
eclarations -Wno-sign-compare -O -DUNICODE -DDYNAMIC_FFI -DDYNAMIC_MODULES -I.
-fPIC -I.. -c calls.m.c -o calls.o
calls.c: In function 'get_block':
calls.c:843: error: unrecognizable insn:
(insn 173 172 174 0 (set (reg/f:DI 91)
        (plus:DI (reg:DI 133)
            (const_int 1125899906842624 [0x4000000000000]))) -1 (insn_list:REG_DEP_TRUE 172 (nil))
    (expr_list:REG_DEAD (reg:DI 133)
        (expr_list:REG_EQUAL (const:DI (plus:DI (symbol_ref:DI ("symbol_tab_data") [flags 0x40] <var_decl 0x2aaaab266820 symbol_tab_data>)
                    (const_int 1125899906842624 [0x4000000000000])))
            (nil))))
calls.c:843: internal compiler error: in extract_insn, at recog.c:2020
Please submit a full bug report,

It needs both -O and -fPIC to trigger this bug.

I've reduce the code in question to:
int x;
static void ** STACK;

static void get_block () {
  while (1)
  {
    STACK[0] = (void *)(&x+(1L<<48));
  }
}

Which gives me this error:
$ gcc -O -fPIC test5.i -c -o test.o
test5.i: In function 'get_block':
test5.i:9: error: unrecognizable insn:
(insn 38 37 33 0 (set (reg/f:DI 58 [ D.1466 ])
        (plus:DI (reg:DI 63)
            (const_int 1125899906842624 [0x4000000000000]))) -1 (insn_list:REG_DEP_TRUE 37 (nil))
    (expr_list:REG_DEAD (reg:DI 63)
        (expr_list:REG_EQUAL (const:DI (plus:DI (symbol_ref:DI ("x") <var_decl 0x2aaaaaefddd0 x>)
                    (const_int 1125899906842624 [0x4000000000000])))
            (nil))))
test5.i:9: internal compiler error: in extract_insn, at recog.c:2020

gcc-3.4 3.4.5-1 gives the same error, gcc-4.1 4.1-0exp6
seems to compile this without problems.


Kurt




Reply to: