1 /* { dg-do compile } */
2 /* { dg-skip-if "finite loops" { *-*-* } { "-ffinite-loops" } } */
3 /* { dg-skip-if "LTO optimizes the test" { *-*-* } { "-flto" } } */
4 /* { dg-additional-options "-fdump-tree-optimized" } */
5
6 int a, b;
7
8 int
main()9 main()
10 {
11 while (1)
12 {
13 /* Try really hard. */
14 if (a != b)
15 return 1;
16 }
17 return 0;
18 }
19
20 /* ISO C does not guarantee forward progress like C++ does so we
21 cannot assume the loop is finite and optimize it to return 1. */
22 /* { dg-final { scan-tree-dump "if" "optimized" } } */
23