1 /* { dg-options "-O1" } */ 2 3 extern void fn1 (void); 4 5 int a[2], b; 6 7 static void foo(int p)8foo (int p) 9 { 10 b = 1 ^ a[(b ^ 1) & 1]; 11 b = 1 ^ a[b & 1]; 12 if (p) 13 __builtin_abort (); 14 } 15 16 int main()17main () 18 { 19 foo (0); 20 b = 0; 21 foo (0); 22 23 if (b != 1) 24 __builtin_abort (); 25 26 return 0; 27 } 28