http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59363
--- Comment #12 from H.J. Lu <hjl.tools at gmail dot com> --- Smaller testcase: [hjl@gnu-6 pr59363]$ cat x.h typedef struct s_xdemitconf { long ctxlen; long interhunkctxlen; unsigned long flags; unsigned long find_func; void *find_func_priv; unsigned long hunk_func; } xdemitconf_t; extern int xdi_diff(xdemitconf_t const *xecfg); extern int diff_hunks(unsigned long hunk_func); [hjl@gnu-6 pr59363]$ cat x.c #include "x.h" int xdi_diff(xdemitconf_t const *xecfg) { if (xecfg->hunk_func == 0) __builtin_abort (); return 0; } int main () { return diff_hunks (20); } [hjl@gnu-6 pr59363]$ cat y.c #include "x.h" int diff_hunks(unsigned long hunk_func) { xdemitconf_t xecfg = {0}; xecfg.hunk_func = hunk_func; return xdi_diff(&xecfg); } [hjl@gnu-6 pr59363]$ make /export/build/gnu/gcc/build-x86_64-linux/gcc/xgcc -B/export/build/gnu/gcc/build-x86_64-linux/gcc/ -O2 -mtune=amdfam10 -c -o x.o x.c /export/build/gnu/gcc/build-x86_64-linux/gcc/xgcc -B/export/build/gnu/gcc/build-x86_64-linux/gcc/ -O2 -mtune=amdfam10 -c -o y.o y.c /export/build/gnu/gcc/build-x86_64-linux/gcc/xgcc -B/export/build/gnu/gcc/build-x86_64-linux/gcc/ -O2 -mtune=amdfam10 -o x x.o y.o ./x make: *** [all] Aborted [hjl@gnu-6 pr59363]$