/* 20020213-1.c from the execute part of the gcc torture suite. */ #include #ifdef __SDCC #pragma std_c99 #endif #pragma disable_warning 85 /* PR c/5681 This testcase failed on IA-32 at -O0, because safe_from_p incorrectly assumed it is safe to first write into a.a2 b-1 and then read the original value from it. */ int bar (float); struct A { float a1; int a2; } a; int b; void foo (void) { a.a2 = bar (a.a1); a.a2 = a.a2 < b - 1 ? a.a2 : b - 1; if (a.a2 >= b - 1) ASSERT (0); } int bar (float x) { return 2241; } void testTortureExecute (void) { a.a1 = 1.0f; b = 3384; foo (); }