| /* { dg-do link } */ | |
| /* { dg-options "-O2 -fdump-tree-vrp1" } */ | |
| /* { dg-final { scan-tree-dump-not "link_error" "vrp1"} } */ | |
| extern void link_error (void); | |
| __attribute__((noinline, noclone)) int | |
| foo (unsigned int n, int r) | |
| { | |
| int i; | |
| if (n > 0) | |
| { | |
| asm (""); | |
| if (n < 10) | |
| { | |
| asm (""); | |
| do | |
| { | |
| --n; | |
| r *= 2; | |
| if (n >= 9) | |
| link_error (); | |
| } | |
| while (n > 0); | |
| } | |
| } | |
| return r + n; | |
| } | |
| int | |
| main () | |
| { | |
| foo (7, 2); | |
| return 0; | |
| } |