1 /* { dg-do run } */
2 /* { dg-options "-O2" } */
3 
4 extern void abort (void);
5 struct S {
6     int *i[4];
7     int *p1;
8     int *p2;
9     int *p3;
10     int *p4;
11 };
12 int **b;
main()13 int main()
14 {
15   int i = 1;
16   struct S s;
17   s.p3 = &i;
18   int **p;
19   if (b)
20     p = b;
21   else
22     p = &s.i[2];
23   p += 4;
24   if (!b)
25     **p = 0;
26   if (i != 0)
27     abort ();
28   return i;
29 }
30