/* PR middle-end/111422 */ int a, b; int *c = &b; unsigned d; signed char e; int f = 1; int foo (int k, signed char *l) { if (k < 6) return a; l[0] = l[1] = l[k - 1] = 8; return 0; } int bar (int k) { signed char g[11]; int h = foo (k, g); return h; } int main () { for (; b < 8; b = b + 1) ; int j; int *n[8]; for (j = 0; 18446744073709551608ULL + bar (*c) + *c + j < 2; j++) n[j] = &f; for (; e <= 4; e++) d = *n[0] == f; if (d != 1) __builtin_abort (); }