|
1 |
| -// RUN: %check_clang_tidy -std=c++17-or-later %s cppcoreguidelines-use-enum-class %t |
| 1 | +// RUN: %check_clang_tidy -std=c++11-or-later %s cppcoreguidelines-use-enum-class %t |
2 | 2 |
|
3 | 3 | enum E {};
|
4 |
| -// CHECK-MESSAGES: :[[@LINE-1]]:6: warning: enum 'E' is unscoped, use enum class instead [cppcoreguidelines-use-enum-class] |
| 4 | +// CHECK-MESSAGES: :[[@LINE-1]]:6: warning: enum 'E' is unscoped, use 'enum class' instead [cppcoreguidelines-use-enum-class] |
5 | 5 |
|
6 | 6 | enum class EC {};
|
7 | 7 |
|
8 | 8 | struct S {
|
9 |
| - enum E {}; |
10 |
| - // CHECK-MESSAGES-NOT: :[[@LINE-1]]:12: warning: enum 'E' is unscoped, use enum class instead [cppcoreguidelines-use-enum-class] |
11 |
| - // Ignore unscoped enums in recordDecl |
12 |
| - enum class EC {}; |
| 9 | + enum E {}; |
| 10 | + // CHECK-MESSAGES: :[[@LINE-1]]:8: warning: enum 'E' is unscoped, use 'enum class' instead [cppcoreguidelines-use-enum-class] |
| 11 | + enum class EC {}; |
13 | 12 | };
|
14 | 13 |
|
15 | 14 | class C {
|
16 |
| - enum E {}; |
17 |
| - // CHECK-MESSAGES-NOT: :[[@LINE-1]]:12: warning: enum 'E' is unscoped, use enum class instead [cppcoreguidelines-use-enum-class] |
18 |
| - // Ignore unscoped enums in recordDecl |
19 |
| - enum class EC {}; |
| 15 | + enum E {}; |
| 16 | + // CHECK-MESSAGES: :[[@LINE-1]]:8: warning: enum 'E' is unscoped, use 'enum class' instead [cppcoreguidelines-use-enum-class] |
| 17 | + enum class EC {}; |
20 | 18 | };
|
21 | 19 |
|
22 | 20 | template<class T>
|
23 | 21 | class TC {
|
24 |
| - enum E {}; |
25 |
| - // CHECK-MESSAGES-NOT: :[[@LINE-1]]:12: warning: enum 'E' is unscoped, use enum class instead [cppcoreguidelines-use-enum-class] |
26 |
| - // Ignore unscoped enums in recordDecl |
27 |
| - enum class EC {}; |
| 22 | + enum E {}; |
| 23 | + // CHECK-MESSAGES: :[[@LINE-1]]:8: warning: enum 'E' is unscoped, use 'enum class' instead [cppcoreguidelines-use-enum-class] |
| 24 | + enum class EC {}; |
28 | 25 | };
|
29 | 26 |
|
30 | 27 | union U {
|
31 |
| - enum E {}; |
32 |
| - // CHECK-MESSAGES-NOT: :[[@LINE-1]]:12: warning: enum 'E' is unscoped, use enum class instead [cppcoreguidelines-use-enum-class] |
33 |
| - // Ignore unscoped enums in recordDecl |
34 |
| - enum class EC {}; |
| 28 | + enum E {}; |
| 29 | + // CHECK-MESSAGES: :[[@LINE-1]]:8: warning: enum 'E' is unscoped, use 'enum class' instead [cppcoreguidelines-use-enum-class] |
| 30 | + enum class EC {}; |
35 | 31 | };
|
36 | 32 |
|
37 | 33 | namespace {
|
38 | 34 | enum E {};
|
39 |
| -// CHECK-MESSAGES: :[[@LINE-1]]:6: warning: enum 'E' is unscoped, use enum class instead [cppcoreguidelines-use-enum-class] |
| 35 | +// CHECK-MESSAGES: :[[@LINE-1]]:6: warning: enum 'E' is unscoped, use 'enum class' instead [cppcoreguidelines-use-enum-class] |
40 | 36 | enum class EC {};
|
41 | 37 | } // namespace
|
42 | 38 |
|
43 | 39 | namespace N {
|
44 | 40 | enum E {};
|
45 |
| -// CHECK-MESSAGES: :[[@LINE-1]]:6: warning: enum 'E' is unscoped, use enum class instead [cppcoreguidelines-use-enum-class] |
| 41 | +// CHECK-MESSAGES: :[[@LINE-1]]:6: warning: enum 'E' is unscoped, use 'enum class' instead [cppcoreguidelines-use-enum-class] |
46 | 42 | enum class EC {};
|
47 | 43 | } // namespace N
|
48 | 44 |
|
49 | 45 | template<enum ::EC>
|
50 | 46 | static void foo();
|
51 | 47 |
|
52 |
| -using enum S::E; |
53 |
| -using enum S::EC; |
54 |
| - |
55 | 48 | enum ForwardE : int;
|
56 |
| -// CHECK-MESSAGES: :[[@LINE-1]]:6: warning: enum 'ForwardE' is unscoped, use enum class instead [cppcoreguidelines-use-enum-class] |
57 |
| - |
| 49 | +// CHECK-MESSAGES: :[[@LINE-1]]:6: warning: enum 'ForwardE' is unscoped, use 'enum class' instead [cppcoreguidelines-use-enum-class] |
58 | 50 | enum class ForwardEC : int;
|
0 commit comments