1  /* { dg-do link } */
       2  /* { dg-options "-O2 -fdump-tree-vrp1" } */
       3  /* { dg-final { scan-tree-dump-not "link_error" "vrp1"} } */
       4  
       5  extern void link_error (void);
       6  
       7  __attribute__((noinline, noclone)) int
       8  foo (unsigned int n, int r)
       9  {
      10    int i;
      11    if (n > 0)
      12      {
      13        asm ("");
      14        if (n < 10)
      15  	{
      16  	  asm ("");
      17  	  do
      18  	    {
      19  	      --n;
      20  	      r *= 2;
      21  	      if (n >= 9)
      22  		link_error ();
      23  	    }
      24  	  while (n > 0);
      25  	}
      26      }
      27    return r + n;
      28  }
      29  
      30  int
      31  main ()
      32  {
      33    foo (7, 2);
      34    return 0;
      35  }