http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47926
Summary: [x32] nested function pointer doesn't work Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassig...@gcc.gnu.org ReportedBy: hjl.to...@gmail.com [hjl@gnu-6 ilp32-25]$ cat x.c void callme (void (*callback) (void)); int tryme (void) { int ok = 0; void callback (void) { ok = 1; } callme (&callback); return ok; } [hjl@gnu-6 ilp32-25]$ make /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 -O2 -g x.c x.c: In function ‘tryme’: x.c:3:1: internal compiler error: in emit_move_insn, at expr.c:3355 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. make: *** [x.s] Error 1 [hjl@gnu-6 ilp32-25]$