1 /* PR rtl-optimization/55833 */
2 /* { dg-do compile } */
3 /* { dg-options "-O3" } */
4 
5 int a, b, c;
6 int bar (void);
7 
foo()8 void foo()
9 {
10     unsigned d, l, *p, k = 1;
11 
12     if(bar())
13     {
14 label:
15       	if((a = a <= 0))
16         {
17             if(c)
18                 d = b;
19 
20             if (b || d ? l : k ? : 0)
21                 a = d = 0;
22 
23             goto label;
24        	}
25     }
26 
27     while(*p++)
28         goto label;
29 }
30