modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/execute/pr86231.c (about) 1 /* PR tree-optimization/86231 */ 2 3 #define ONE ((void *) 1) 4 #define TWO ((void *) 2) 5 6 __attribute__((noipa)) int 7 foo (void *p, int x) 8 { 9 if (p == ONE) return 0; 10 if (!p) 11 p = x ? TWO : ONE; 12 return p == ONE ? 0 : 1; 13 } 14 15 int v[8]; 16 17 int 18 main () 19 { 20 if (foo ((void *) 0, 0) != 0 21 || foo ((void *) 0, 1) != 1 22 || foo (ONE, 0) != 0 23 || foo (ONE, 1) != 0 24 || foo (TWO, 0) != 1 25 || foo (TWO, 1) != 1 26 || foo (&v[7], 0) != 1 27 || foo (&v[7], 1) != 1) 28 __builtin_abort (); 29 return 0; 30 }