// { dg-do run } | |
// { dg-options "-O1 -ftree-vrp" } | |
int a, b = -1, c; | |
int d = 1; | |
static inline signed char e(signed char f, int g) { return g ? f : 0; } | |
static inline signed char h(signed char f) { return f < a ? f : f < a; } | |
static inline unsigned char i(unsigned char f, int g) { return g ? f : f > g; } | |
void j() { | |
L: | |
c = e(1, i(h(b), d)); | |
if (b) | |
return; | |
goto L; | |
} | |
int main() { | |
j(); | |
if (c != 1) | |
__builtin_abort (); | |
return 0; | |
} |