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)8void 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