xref: /llvm-project/clang/test/CXX/dcl.dcl/dcl.enum/p1.cpp (revision a0d266d705d6c145e8daa08a08f70e9498ec3d0b)
1 // RUN: %clang_cc1 -verify %s -std=c++11
2 
3 template<typename T>
4 struct S0 {
5   enum E0 : int;
6 
7   enum class E1;
8 };
9 
10 struct S3 {
11   enum E2 : int;
12 
13   enum class E3;
14 };
15 
16 template<typename T>
17 enum S0<T>::E0 : int; // expected-error{{cannot have a nested name specifier}}
18 
19 template<>
20 enum S0<int>::E0 : int;
21 
22 template<typename T>
23 enum class S0<T>::E1; // expected-error{{cannot have a nested name specifier}}
24 
25 template<>
26 enum class S0<int>::E1;
27 
28 enum S3::E2 : int; // expected-error{{cannot have a nested name specifier}}
29 
30 enum class S3::E3; // expected-error{{cannot have a nested name specifier}}
31