2003-12-26 Guilhem Lavaux <guilhem@kaffe.org>
[official-gcc.git] / gcc / testsuite / g++.dg / opt / enum1.C
blob6416b3f1b868dfbc62708a509c876983dc5fa82e
1 // Verify that we don't confuse precision and mode for enums.
2 // { dg-do run }
3 // { dg-options "-O" }
5 extern "C" void abort();
7 enum E {
8   zero = 0, 
9   test = 0xbb
12 static bool foo(unsigned char *x)
14   E e = static_cast<E>(*x);
15   switch (e)
16     {
17     case test:
18       return true;
19     default:
20       return false;
21     }
24 int main()
26   unsigned char dummy = test;
27   if (! foo(&dummy))
28     abort ();
29   return 0;