1 /* { dg-do run } */
2 /* { dg-options "-O2 -fno-tree-sra -fipa-pta -fdump-ipa-pta2" } */
3 
4 struct X
5 {
6   long l1;
7   struct Y
8     {
9       long l2;
10       int *p;
11     } y;
12 };
13 int i;
14 static int __attribute__((noinline))
foo(struct X * x)15 foo (struct X *x)
16 {
17   struct Y y = x->y;
18   *y.p = 0;
19   i = 1;
20   return *y.p;
21 }
22 extern void abort (void);
main()23 int main()
24 {
25   struct X x;
26   x.y.p = &i;
27   if (foo(&x) != 1)
28     abort ();
29   return 0;
30 }
31 
32 /* { dg-final { scan-ipa-dump "y.\[0-9\]*\\\+\[0-9\]* = { i }" "pta2" } } */
33