1 // { dg-do run { target c++11 } } 2 // { dg-options "-O2 -Wtype-limits" } 3 extern void link_error (void); 4 5 enum Alpha : unsigned char { 6 ZERO = 0, ONE, TWO, THREE 7 }; 8 9 Alpha a2; 10 11 int m1 = -1; GetM1()12int GetM1() { 13 return m1; 14 } 15 main()16int main() { 17 a2 = static_cast<Alpha>(GetM1()); 18 if (a2 == -1) { // { dg-warning "always false due" } 19 link_error (); 20 } 21 if (-1 == a2) { // { dg-warning "always false due" } 22 link_error (); 23 } 24 return 0; 25 } 26