1 /* { dg-do compile } */
2 /* { dg-additional-options "-ftree-loop-distribution" } */
3 
4 int jo, af, yb;
5 long int wt;
6 
7 void
nr(void)8 nr (void)
9 {
10   int *bf = &yb;
11   for (;;)
12     {
13       while (jo != 0)
14 	{
15 	  long int *ad = (long int *) &yb;
16 	  for (;;)
17 	    {
18 	      int fv;
19 	      for (*ad = 1; *ad < 3; ++(*ad))
20 		{
21 		  af = *bf;
22 		  fv = wt;
23 		}
24 	      bf = (int *) &wt;
25 	      ad = &wt;
26 	      do
27 		{
28 		  jo = wt = ((wt != 0) ? 1 : fv);
29 		}
30 	      while (jo != 0);
31 	    }
32 	}
33       bf = &af;
34     }
35 }
36