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]$