| /* { 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; | |
| } |