OSDN Git Service

2005-02-03 Andrew Pinski <pinskia@physics.uc.edu>
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / g++.dg / opt / enum1.C
1 // Verify that we don't confuse precision and mode for enums.
2 // { dg-do run }
3 // { dg-options "-O" }
4
5 extern "C" void abort();
6
7 enum E {
8   zero = 0, 
9   test = 0xbb
10 };
11
12 static bool foo(unsigned char *x)
13 {
14   E e = static_cast<E>(*x);
15   switch (e)
16     {
17     case test:
18       return true;
19     default:
20       return false;
21     }
22 }
23
24 int main()
25 {
26   unsigned char dummy = test;
27   if (! foo(&dummy))
28     abort ();
29   return 0;
30 }