1 /* PR tree-optimization/78482 */
2 /* { dg-do run } */
3 
4 short a = 65531;
5 int b = 3, f;
6 signed char c, d;
fn1(int p1)7 static void fn1(int p1)
8 {
9   short e;
10   b = f;
11   if (f > p1 && p1)
12     L:
13 	for (e = 0; 0;)
14 	  ;
15   else if (d) b = 0 >= b;
16   for (; e <= 3; e++)
17     {
18       if (b)
19 	continue;
20       b = 3;
21       goto L;
22     }
23 }
24 
25 __attribute__((noinline, noclone))
bar(const char * x,int y)26 int bar (const char *x, int y)
27 {
28   asm volatile ("" : "+g" (x), "+g" (y) : : "memory");
29   if (y == 2)
30     __builtin_abort ();
31   return 0;
32 }
33 
main()34 int main()
35 {
36   for (; c >= 0; c--)
37     {
38       if (!b)
39 	{
40 	  bar("%d\n", 2);
41 	  continue;
42 	}
43       fn1(a);
44     }
45   return 0;
46 }
47