1 /* { dg-do run } */ 2 3 typedef unsigned short u16; 4 5 static u16 a; 6 7 u16 __attribute__ ((noinline, noclone)) foo(int p1)8foo (int p1) 9 { 10 a = -(p1 > 0); 11 a *= 0 != a; 12 a *= (unsigned)a; 13 return a; 14 } 15 16 int main()17main () 18 { 19 u16 x = foo (1); 20 if (x != 1) 21 __builtin_abort(); 22 return 0; 23 } 24