1// RUN: %check_clang_tidy -std=c++20 %s readability-identifier-naming %t -- \
2// RUN: -config='{CheckOptions: { \
3// RUN: readability-identifier-naming.CheckAnonFieldInParent: true, \
4// RUN: readability-identifier-naming.ClassConstantCase: CamelCase, \
5// RUN: readability-identifier-naming.ClassConstantPrefix: 'k', \
6// RUN: readability-identifier-naming.ClassMemberCase: CamelCase, \
7// RUN: readability-identifier-naming.ConstantCase: UPPER_CASE, \
8// RUN: readability-identifier-naming.ConstantSuffix: '_CST', \
9// RUN: readability-identifier-naming.ConstexprVariableCase: lower_case, \
10// RUN: readability-identifier-naming.GlobalConstantCase: UPPER_CASE, \
11// RUN: readability-identifier-naming.GlobalVariableCase: lower_case, \
12// RUN: readability-identifier-naming.GlobalVariablePrefix: 'g_', \
13// RUN: readability-identifier-naming.LocalConstantCase: CamelCase, \
14// RUN: readability-identifier-naming.LocalConstantPrefix: 'k', \
15// RUN: readability-identifier-naming.LocalVariableCase: lower_case, \
16// RUN: readability-identifier-naming.MemberCase: CamelCase, \
17// RUN: readability-identifier-naming.MemberPrefix: 'm_', \
18// RUN: readability-identifier-naming.ConstantMemberCase: lower_case, \
19// RUN: readability-identifier-naming.PrivateMemberPrefix: '__', \
20// RUN: readability-identifier-naming.ProtectedMemberPrefix: '_', \
21// RUN: readability-identifier-naming.PublicMemberCase: lower_case, \
22// RUN: readability-identifier-naming.StaticConstantCase: UPPER_CASE, \
23// RUN: readability-identifier-naming.StaticVariableCase: camelBack, \
24// RUN: readability-identifier-naming.StaticVariablePrefix: 's_', \
25// RUN: readability-identifier-naming.VariableCase: lower_case, \
26// RUN: readability-identifier-naming.GlobalPointerCase: CamelCase, \
27// RUN: readability-identifier-naming.GlobalPointerSuffix: '_Ptr', \
28// RUN: readability-identifier-naming.GlobalConstantPointerCase: UPPER_CASE, \
29// RUN: readability-identifier-naming.GlobalConstantPointerSuffix: '_Ptr', \
30// RUN: readability-identifier-naming.LocalPointerCase: CamelCase, \
31// RUN: readability-identifier-naming.LocalPointerPrefix: 'l_', \
32// RUN: readability-identifier-naming.LocalConstantPointerCase: CamelCase, \
33// RUN: readability-identifier-naming.LocalConstantPointerPrefix: 'lc_', \
34// RUN: }}'
35
36static union {
37 int global;
38// CHECK-MESSAGES: :[[@LINE-1]]:7: warning: invalid case style for global variable 'global'
39// CHECK-FIXES: {{^}} int g_global;{{$}}
40
41 const int global_const;
42// CHECK-MESSAGES: :[[@LINE-1]]:13: warning: invalid case style for global constant 'global_const'
43// CHECK-FIXES: {{^}} const int GLOBAL_CONST;{{$}}
44
45 int *global_ptr;
46// CHECK-MESSAGES: :[[@LINE-1]]:8: warning: invalid case style for global pointer 'global_ptr'
47// CHECK-FIXES: {{^}} int *GlobalPtr_Ptr;{{$}}
48
49 int *const global_const_ptr;
50// CHECK-MESSAGES: :[[@LINE-1]]:14: warning: invalid case style for global constant pointer 'global_const_ptr'
51// CHECK-FIXES: {{^}} int *const GLOBAL_CONST_PTR_Ptr;{{$}}
52};
53
54namespace ns {
55
56static union {
57 int ns_global;
58// CHECK-MESSAGES: :[[@LINE-1]]:7: warning: invalid case style for global variable 'ns_global'
59// CHECK-FIXES: {{^}} int g_ns_global;{{$}}
60
61 const int ns_global_const;
62// CHECK-MESSAGES: :[[@LINE-1]]:13: warning: invalid case style for global constant 'ns_global_const'
63// CHECK-FIXES: {{^}} const int NS_GLOBAL_CONST;{{$}}
64
65 int *ns_global_ptr;
66// CHECK-MESSAGES: :[[@LINE-1]]:8: warning: invalid case style for global pointer 'ns_global_ptr'
67// CHECK-FIXES: {{^}} int *NsGlobalPtr_Ptr;{{$}}
68
69 int *const ns_global_const_ptr;
70// CHECK-MESSAGES: :[[@LINE-1]]:14: warning: invalid case style for global constant pointer 'ns_global_const_ptr'
71// CHECK-FIXES: {{^}} int *const NS_GLOBAL_CONST_PTR_Ptr;{{$}}
72};
73
74namespace {
75
76union {
77 int anon_ns_global;
78// CHECK-MESSAGES: :[[@LINE-1]]:7: warning: invalid case style for global variable 'anon_ns_global'
79// CHECK-FIXES: {{^}} int g_anon_ns_global;{{$}}
80
81 const int anon_ns_global_const;
82// CHECK-MESSAGES: :[[@LINE-1]]:13: warning: invalid case style for global constant 'anon_ns_global_const'
83// CHECK-FIXES: {{^}} const int ANON_NS_GLOBAL_CONST;{{$}}
84
85 int *anon_ns_global_ptr;
86// CHECK-MESSAGES: :[[@LINE-1]]:8: warning: invalid case style for global pointer 'anon_ns_global_ptr'
87// CHECK-FIXES: {{^}} int *AnonNsGlobalPtr_Ptr;{{$}}
88
89 int *const anon_ns_global_const_ptr;
90// CHECK-MESSAGES: :[[@LINE-1]]:14: warning: invalid case style for global constant pointer 'anon_ns_global_const_ptr'
91// CHECK-FIXES: {{^}} int *const ANON_NS_GLOBAL_CONST_PTR_Ptr;{{$}}
92};
93
94}
95
96}
97
98
99class Foo {
100public:
101 union {
102 int PubMember;
103// CHECK-MESSAGES: :[[@LINE-1]]:9: warning: invalid case style for public member 'PubMember'
104// CHECK-FIXES: {{^}} int pub_member;{{$}}
105
106 const int PubConstMember;
107// CHECK-MESSAGES: :[[@LINE-1]]:15: warning: invalid case style for constant member 'PubConstMember'
108// CHECK-FIXES: {{^}} const int pub_const_member;{{$}}
109
110 int *PubPtrMember;
111// CHECK-MESSAGES: :[[@LINE-1]]:10: warning: invalid case style for public member 'PubPtrMember'
112// CHECK-FIXES: {{^}} int *pub_ptr_member;{{$}}
113
114 int *const PubConstPtrMember;
115// CHECK-MESSAGES: :[[@LINE-1]]:16: warning: invalid case style for constant member 'PubConstPtrMember'
116// CHECK-FIXES: {{^}} int *const pub_const_ptr_member;{{$}}
117 };
118
119protected:
120 union {
121 int prot_member;
122// CHECK-MESSAGES: :[[@LINE-1]]:9: warning: invalid case style for protected member 'prot_member'
123// CHECK-FIXES: {{^}} int _prot_member;{{$}}
124
125 const int prot_const_member;
126
127 int *prot_ptr_member;
128// CHECK-MESSAGES: :[[@LINE-1]]:10: warning: invalid case style for protected member 'prot_ptr_member'
129// CHECK-FIXES: {{^}} int *_prot_ptr_member;{{$}}
130
131 int *const prot_const_ptr_member;
132 };
133
134
135private:
136 union {
137 int pri_member;
138// CHECK-MESSAGES: :[[@LINE-1]]:9: warning: invalid case style for private member 'pri_member'
139// CHECK-FIXES: {{^}} int __pri_member;{{$}}
140
141 const int pri_const_member;
142
143 int *pri_ptr_member;
144// CHECK-MESSAGES: :[[@LINE-1]]:10: warning: invalid case style for private member 'pri_ptr_member'
145// CHECK-FIXES: {{^}} int *__pri_ptr_member;{{$}}
146
147 int *const pri_const_ptr_member;
148 };
149};
150
151void test() {
152 union {
153 int local;
154
155 const int local_const;
156// CHECK-MESSAGES: :[[@LINE-1]]:15: warning: invalid case style for local constant 'local_const'
157// CHECK-FIXES: {{^}} const int kLocalConst;{{$}}
158
159 int *local_ptr;
160// CHECK-MESSAGES: :[[@LINE-1]]:10: warning: invalid case style for local pointer 'local_ptr'
161// CHECK-FIXES: {{^}} int *l_LocalPtr;{{$}}
162
163 int *const local_const_ptr;
164// CHECK-MESSAGES: :[[@LINE-1]]:16: warning: invalid case style for local constant pointer 'local_const_ptr'
165// CHECK-FIXES: {{^}} int *const lc_LocalConstPtr;{{$}}
166 };
167
168 static union {
169 int local_static;
170// CHECK-MESSAGES: :[[@LINE-1]]:9: warning: invalid case style for static variable 'local_static'
171// CHECK-FIXES: {{^}} int s_localStatic;{{$}}
172
173 const int local_static_const;
174// CHECK-MESSAGES: :[[@LINE-1]]:15: warning: invalid case style for static constant 'local_static_const'
175// CHECK-FIXES: {{^}} const int LOCAL_STATIC_CONST;{{$}}
176
177 int *local_static_ptr;
178// CHECK-MESSAGES: :[[@LINE-1]]:10: warning: invalid case style for static variable 'local_static_ptr'
179// CHECK-FIXES: {{^}} int *s_localStaticPtr;{{$}}
180
181 int *const local_static_const_ptr;
182// CHECK-MESSAGES: :[[@LINE-1]]:16: warning: invalid case style for static constant 'local_static_const_ptr'
183// CHECK-FIXES: {{^}} int *const LOCAL_STATIC_CONST_PTR;{{$}}
184 };
185}
186

source code of clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-anon-record-fields.cpp