/* PR rtl-optimization/79032 */ /* Reported by Daniel Cederman */ extern void abort (void); struct S { short a; long long b; short c; char d; unsigned short e; long *f; }; static long foo (struct S *s) __attribute__((noclone, noinline)); static long foo (struct S *s) { long a = 1; a /= s->e; s->f[a]--; return a; } int main (void) { long val = 1; struct S s = { 0, 0, 0, 0, 2, &val }; val = foo (&s); if (val != 0) abort (); return 0; }