1 // PR c++/70513
2 // { dg-do compile { target c++11 } }
3 
4 template <typename T>
5 class D1
6 {
7   enum A : int;
8   enum D1::A : int { foo } c; // { dg-error "extra qualification not allowed" }
9 };
10 
11 template <typename T>
12 class D2
13 {
14   enum A : int;
15   enum D2<T>::A : int { foo } c; // { dg-error "extra qualification not allowed" }
16 };
17 
18 template <typename T>
19 class D3
20 {
21   enum D3::A { foo } c; // { dg-error "extra qualification not allowed" }
22 };
23 
24 template <typename T>
25 class D4
26 {
27   enum D4<T>::A { foo } c; // { dg-error "extra qualification not allowed" }
28 };
29 
30 template <typename T>
31 class D5
32 {
33   class D6
34   {
35     enum D6::A { foo } c; // { dg-error "extra qualification not allowed" }
36   };
37 };
38 
39 template <typename T>
40 class D7
41 {
42   class D8
43   {
44     enum A : int;
45     enum D8::A : int { foo } c; // { dg-error "extra qualification not allowed" }
46   };
47 };
48