1 /* { dg-do run } */
2 /* { dg-options "-O3" } */
3 
4 int a, b = 1, *c = &a;
5 
6 int
foo()7 foo ()
8 {
9   if (b)
10     b |= 1;
11   else
12     {
13       b = 1;
14       return 0;
15     }
16   return 1;
17 }
18 
19 int
main()20 main ()
21 {
22   *c = foo ();
23   if (a != 1)
24     __builtin_abort ();
25   return 0;
26 }
27