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