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