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()12 int GetM1() {
13  return m1;
14 }
15 
main()16 int 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