1 /* { dg-options "-O2 -fgraphite-identity" } */ 2 3 struct Foo { 4 int **p; 5 int **q; 6 }; 7 8 int __attribute__((noinline)) bar(void)9bar (void) 10 { 11 struct Foo f; 12 int j, i = 1; 13 char *p; 14 int *x = &i; 15 int *y = &j; 16 f.p = &y; 17 f.q = &x; 18 p = (char *)&f; 19 for (j = 0; j < sizeof (int *); ++j) 20 p++; 21 return ***(int ***)p; 22 } 23 extern void abort (void); main()24int main() 25 { 26 if (bar () != 1) 27 abort (); 28 return 0; 29 } 30