Merged r158907 through r159238 into branch.
[official-gcc.git] / gcc / testsuite / g++.dg / warn / pr33738.C
blobe84fece13f669bb2e9e16a876892b3a9af4f6a5a
1 // { dg-do run }
2 // { dg-options "-O2 -Wtype-limits -fstrict-enums" }
3 extern void link_error (void);
5 enum Alpha {
6  ZERO = 0, ONE, TWO, THREE
7 };
9 Alpha a2;
11 int m1 = -1;
12 int GetM1() {
13  return m1;
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;