/* { dg-do run } */ | |
int a = 128, b; | |
static int | |
fn1 (signed char p1, int p2) | |
{ | |
return p1 < 0 || p1 > 1 >> p2 ? 0 : p1 << 1; | |
} | |
static int | |
fn2 () | |
{ | |
signed char c = a; | |
b = fn1 (c, 1); | |
if ((128 | c) < 0 ? 1 : 0) | |
return 1; | |
return 0; | |
} | |
int | |
main () | |
{ | |
if (fn2 () != 1) | |
__builtin_abort (); | |
return 0; | |
} |