$ cat m68k-dis.i typedef int (*fprintf_ftype) (void *, const char*, ...); typedef struct disassemble_info { fprintf_ftype fprintf_func; void *stream; int (*read_memory_func) (void); } disassemble_info; extern char *foo (void); typedef struct { } jmp_buf[1]; extern int setjmp (jmp_buf); int print_insn_m68k (disassemble_info *info) { jmp_buf bailout; if (setjmp (bailout) != 0) return -1; info->fprintf_func (info->stream, foo ()); return 0; } $ gcc/xgcc -B gcc/ -W -Wall -O2 -S m68k-dis.i -v Reading specs from gcc/specs Target: ia64-suse-linux Configured with: ../configure --host=ia64-suse-linux --enable-shared --enable-threads --enable-__cxa_atexit --with-system-zlib --with-system-libunwind Thread model: posix gcc version 4.0.0 20050416 (prerelease) gcc/cc1 -fpreprocessed m68k-dis.i -quiet -dumpbase m68k-dis.i -auxbase m68k-dis -O2 -W -Wall -version -o m68k-dis.s GNU C version 4.0.0 20050416 (prerelease) (ia64-suse-linux) compiled by GNU C version 4.0.0 20050416 (prerelease). GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 m68k-dis.i: In function œôòøprint_insn_m68kœôòù: m68k-dis.i:11: warning: argument œôòøinfoœôòù might be clobbered by œôòølongjmpœôòù or œôòøvforkœôòù
-- Summary: Bogus warning about clobbered variable Product: gcc Version: 4.0.0 Status: UNCONFIRMED Keywords: diagnostic Severity: normal Priority: P2 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: schwab at suse dot de CC: gcc-bugs at gcc dot gnu dot org GCC target triplet: ia64-*-* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21059