1  /* { dg-do compile } */
       2  /* { dg-additional-options "-ftree-loop-distribution" } */
       3  
       4  int jo, af, yb;
       5  long int wt;
       6  
       7  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 = ⁡
      34      }
      35  }