/* PR tree-optimization/86231 */ | |
#define ONE ((void *) 1) | |
#define TWO ((void *) 2) | |
__attribute__((noipa)) int | |
foo (void *p, int x) | |
{ | |
if (p == ONE) return 0; | |
if (!p) | |
p = x ? TWO : ONE; | |
return p == ONE ? 0 : 1; | |
} | |
int v[8]; | |
int | |
main () | |
{ | |
if (foo ((void *) 0, 0) != 0 | |
|| foo ((void *) 0, 1) != 1 | |
|| foo (ONE, 0) != 0 | |
|| foo (ONE, 1) != 0 | |
|| foo (TWO, 0) != 1 | |
|| foo (TWO, 1) != 1 | |
|| foo (&v[7], 0) != 1 | |
|| foo (&v[7], 1) != 1) | |
__builtin_abort (); | |
return 0; | |
} |