// { dg-do run } | |
// { dg-options "-O2 -Wtype-limits -fstrict-enums" } | |
extern void link_error (void); | |
enum Alpha { | |
ZERO = 0, ONE, TWO, THREE | |
}; | |
Alpha a2; | |
int m1 = -1; | |
int GetM1() { | |
return m1; | |
} | |
int main() { | |
a2 = static_cast<Alpha>(GetM1()); | |
if (a2 == -1) { // { dg-warning "always false due" "" { xfail *-*-* } } */ | |
link_error (); | |
} | |
a2 = static_cast<Alpha>(GetM1()); | |
if (-1 == a2) { // { dg-warning "always false due" "" { xfail *-*-* } } */ | |
link_error (); | |
} | |
return 0; | |
} | |