1 /* { dg-do compile } */ 2 /* { dg-options "-O -fstrict-overflow" } */ 3 4 struct S 5 { 6 int i; 7 }; 8 9 char A[64]; 10 foo(char ** dst,int i)11void foo (char **dst, int i) 12 { 13 char *p = A + 16; 14 while (i--) 15 { 16 int b = ((struct S *) (&p[i * 16 + 4]))->i; 17 char *c = A + i * 16; 18 dst[i] = c + b; 19 } 20 } 21