| /* { dg-do compile } */ | |
| /* { dg-options "-O1 -fharden-compares -fno-ipa-pure-const" } */ | |
| int | |
| baz (void); | |
| __attribute__ ((returns_twice)) void | |
| bar (void) | |
| { | |
| } | |
| int | |
| quux (int y, int z) | |
| { | |
| return (y || z >= 0) ? y : z; | |
| } | |
| int | |
| foo (int x) | |
| { | |
| int a = 0, b = x == a; | |
| bar (); | |
| if (!!baz () < quux (b, a)) | |
| ++x; | |
| return x; | |
| } |