modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/execute/pr19005.c (about) 1 /* PR target/19005 */ 2 extern void abort (void); 3 4 int v, s; 5 6 void 7 bar (int a, int b) 8 { 9 unsigned char x = v; 10 11 if (!s) 12 { 13 if (a != x || b != (unsigned char) (x + 1)) 14 abort (); 15 } 16 else if (a != (unsigned char) (x + 1) || b != x) 17 abort (); 18 s ^= 1; 19 } 20 21 int 22 foo (int x) 23 { 24 unsigned char a = x, b = x + 1; 25 26 bar (a, b); 27 a ^= b; b ^= a; a ^= b; 28 bar (a, b); 29 return 0; 30 } 31 32 int 33 main (void) 34 { 35 for (v = -10; v < 266; v++) 36 foo (v); 37 return 0; 38 }