http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47958
Uros Bizjak <ubizjak at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |49860 --- Comment #3 from Uros Bizjak <ubizjak at gmail dot com> 2011-07-27 17:44:16 UTC --- (In reply to comment #0) > [hjl@gnu-6 ilp32-27]$ cat x.i > void (*foo[6][6]) (int); > void bar (hdR) > int hdR; > { } > void xxx () > { > unsigned int i, j; > for (i = 0; i < 6; ++i) > for (j = 0; j < 6; ++j) > foo [i][j] = bar; > } > [hjl@gnu-6 ilp32-27]$ make x.o > /export/build/gnu/gcc-x32/build-x86_64-linux/gcc/xgcc > -B/export/build/gnu/gcc-x32/build-x86_64-linux/gcc/ -S -o x.s -mx32 -O3 x.i > /export/build/gnu/gcc-x32/build-x86_64-linux/gcc/xgcc > -B/export/build/gnu/gcc-x32/build-x86_64-linux/gcc/ -mx32 -O3 -c -o x.o x.s > x.s: Assembler messages: > x.s:39: Error: cannot represent relocation type BFD_RELOC_64 in x32 mode > Reload calls force_const_mem (DImode, op) on symbol_ref:DI ("bar"). > The address reference in memory should be SImode/ptr_mode. This is just another incarnation of PR49860.