1 /* { dg-do run } */ 2 3 int a = 128, b; 4 5 static int fn1(signed char p1,int p2)6fn1 (signed char p1, int p2) 7 { 8 return p1 < 0 || p1 > 1 >> p2 ? 0 : p1 << 1; 9 } 10 11 static int fn2()12fn2 () 13 { 14 signed char c = a; 15 b = fn1 (c, 1); 16 if ((128 | c) < 0 ? 1 : 0) 17 return 1; 18 return 0; 19 } 20 21 int main()22main () 23 { 24 if (fn2 () != 1) 25 __builtin_abort (); 26 27 return 0; 28 } 29