1 /* { dg-options "-O2" } */
2 /* { dg-do run } */
3 
4 struct S { int i; } s;
5 
f(struct S * q)6 void f (struct S *q)
7 {
8   int a, *p;
9   p = &a;
10   if (q)
11     p = &q->i;
12   *p = 1;
13 }
14 
15 void abort (void);
16 
main(void)17 int main (void)
18 {
19   f (&s);
20   if (s.i != 1)
21     abort ();
22   return 0;
23 }
24