1 /* PR tree-optimization/86231 */
2
3 #define ONE ((void *) 1)
4 #define TWO ((void *) 2)
5
6 __attribute__((noipa)) int
foo(void * p,int x)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
main()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 }
31