Fortran: Fix PR 47485.
[gcc.git] / gcc / testsuite / g++.dg / cpp0x / enum38.C
blobf0dd8a1fc6bb4932b6d5748bab5d409fa557b96d
1 // PR c++/61414
2 // { dg-do compile { target c++11 } }
4 enum C { C0 = -4, C1 = 3 };
5 enum D { D0 = 0, D1 = 15 };
6 enum class E { E0 = -4, E1 = 3 };
7 enum F : unsigned { F0 = 0, F1 = 15 };
8 enum __attribute__((__mode__ (__QI__))) G { G0 = -4, G1 = 3 };
9 enum __attribute__((__mode__ (__HI__))) H { H0 = 0, H1 = 15 };
11 struct S
13   C a : 2;      // { dg-warning "'S::a' is too small to hold all values of 'enum C'" }
14   C b : 3;      // { dg-bogus "'S::b' is too small to hold all values of 'enum C'" }
15   D c : 3;      // { dg-warning "'S::c' is too small to hold all values of 'enum D'" }
16   D d : 4;      // { dg-bogus "'S::d' is too small to hold all values of 'enum D'" }
17   E e : 2;      // { dg-warning "'S::e' is too small to hold all values of 'enum class E'" }
18   E f : 3;      // { dg-bogus "'S::f' is too small to hold all values of 'enum class E'" }
19   F g : 3;      // { dg-warning "'S::g' is too small to hold all values of 'enum F'" }
20   F h : 4;      // { dg-bogus "'S::h' is too small to hold all values of 'enum F'" }
21   G i : 2;      // { dg-warning "'S::i' is too small to hold all values of 'enum G'" }
22   G j : 3;      // { dg-bogus "'S::j' is too small to hold all values of 'enum G'" }
23   H k : 3;      // { dg-warning "'S::k' is too small to hold all values of 'enum H'" }
24   H l : 4;      // { dg-bogus "'S::l' is too small to hold all values of 'enum H'" }