1 /* PR rtl-optimization/79032 */ 2 /* Reported by Daniel Cederman <cederman@gaisler.com> */ 3 4 extern void abort (void); 5 6 struct S { 7 short a; 8 long long b; 9 short c; 10 char d; 11 unsigned short e; 12 long *f; 13 }; 14 15 static long foo (struct S *s) __attribute__((noclone, noinline)); 16 foo(struct S * s)17static long foo (struct S *s) 18 { 19 long a = 1; 20 a /= s->e; 21 s->f[a]--; 22 return a; 23 } 24 main(void)25int main (void) 26 { 27 long val = 1; 28 struct S s = { 0, 0, 0, 0, 2, &val }; 29 val = foo (&s); 30 if (val != 0) 31 abort (); 32 return 0; 33 } 34