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
foo(unsigned int n,int r)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
main()31 main ()
32 {
33   foo (7, 2);
34   return 0;
35 }
36