1 /* { dg-do compile } */
2 /* { dg-options "-O2" } */
3 /* We going into an infinite loop in fold because we
4     were mishandling the return value of
5     fold_to_nonsharp_ineq_using_bound. */
6 _Bool f();
7 void g(int);
h(int old_size)8 void h (int old_size)
9 {
10    int new_size = old_size, i;
11    g(old_size - 1);
12    i = 0;
13    while (i < old_size - 1)
14    {
15      if (f())
16      {
17        i++;
18        continue;
19      }
20      while (i < old_size - 1)
21        i++;
22    }
23    g(new_size);
24 }
25