------- Additional Comments From hjl at lucon dot org 2004-12-15 20:08 ------- Something is very strange:
[EMAIL PROTECTED] thread]$ cat do.c extern __thread void *foo []; void test1 (void) { int s; for (s = 0; s < 2; ++s) { foo [s] = &foo[s]; } } [EMAIL PROTECTED] thread]$ /export/build/gnu/gcc/build-i686-linux/gcc/xgcc -B/export/build/gnu/gcc/build-i686-linux/gcc/ -O -S do.c do.c: In function \uffff\uffff\ufffftest1\uffff\uffff\uffff: do.c:10: error: unrecognizable insn: (insn 53 21 46 0 (set (reg/f:SI 67 [ D.1151 ]) (const:SI (plus:SI (symbol_ref:SI ("foo") [flags 0x58] <var_decl 0xb7d5e828 foo>) (const_int 8 [0x8])))) -1 (nil) (expr_list:REG_EQUAL (const:SI (plus:SI (symbol_ref:SI ("foo") [flags 0x58] <var_decl 0xb7d5e828 foo>) (const_int 8 [0x8]))) (nil))) do.c:10: internal compiler error: in extract_insn, at recog.c:2020 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. [EMAIL PROTECTED] thread]$ cat do.c extern __thread void *foo []; void test1 (void) { int s; for (s = 0; s < 2U; ++s) { foo [s] = &foo[s]; } } [EMAIL PROTECTED] thread]$ /export/build/gnu/gcc/build-i686-linux/gcc/xgcc -B/export/build/gnu/gcc/build-i686-linux/gcc/ -O -S do.c "2U" vs. "2" makes a big difference here. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18910