diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/20050702-1.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/20050702-1.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/20050702-1.c b/gcc/testsuite/gcc.dg/20050702-1.c new file mode 100644 index 000000000..ce151d361 --- /dev/null +++ b/gcc/testsuite/gcc.dg/20050702-1.c @@ -0,0 +1,24 @@ +/* { dg-do compile } */ +/* { dg-options "-O2" } */ +/* We going into an infinite loop in fold because we + were mishandling the return value of + fold_to_nonsharp_ineq_using_bound. */ +_Bool f(); +void g(int); +void h (int old_size) +{ + int new_size = old_size, i; + g(old_size - 1); + i = 0; + while (i < old_size - 1) + { + if (f()) + { + i++; + continue; + } + while (i < old_size - 1) + i++; + } + g(new_size); +} |