You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: clang-tools-extra/test/clang-tidy/checkers/modernize/use-designated-initializers.cpp
+52Lines changed: 52 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -224,3 +224,55 @@ std::array a{1,2,3};
224
224
std::array<int,2> b{10, 11};
225
225
using array = std::array<int, 2>;
226
226
array c{10, 11};
227
+
228
+
structS16 {
229
+
int a;
230
+
int b;
231
+
};
232
+
233
+
using S17 = S16;
234
+
235
+
S17 s171{1, 2};
236
+
// CHECK-MESSAGES: :[[@LINE-1]]:9: warning: use designated initializer list to initialize 'S17' (aka 'S16') [modernize-use-designated-initializers]
237
+
// CHECK-MESSAGES: :[[@LINE-9]]:1: note: aggregate type is defined here
238
+
// CHECK-FIXES: S17 s171{.a=1, .b=2};
239
+
// CHECK-MESSAGES-POD: :[[@LINE-4]]:9: warning: use designated initializer list to initialize 'S17' (aka 'S16') [modernize-use-designated-initializers]
240
+
// CHECK-MESSAGES-POD: :[[@LINE-12]]:1: note: aggregate type is defined here
241
+
// CHECK-FIXES-POD: S17 s171{.a=1, .b=2};
242
+
243
+
S17 s172{.a=1, 2};
244
+
// CHECK-MESSAGES: :[[@LINE-1]]:16: warning: use designated init expression to initialize field 'b' [modernize-use-designated-initializers]
245
+
// CHECK-MESSAGES-POD: :[[@LINE-2]]:16: warning: use designated init expression to initialize field 'b' [modernize-use-designated-initializers]
246
+
// CHECK-FIXES: S17 s172{.a=1, .b=2};
247
+
248
+
S17 s173{.a=1, .b=2}; // no issue
249
+
250
+
typedef S16 S18;
251
+
252
+
S18 s181{1, 2};
253
+
// CHECK-MESSAGES: :[[@LINE-1]]:9: warning: use designated initializer list to initialize 'S18' (aka 'S16') [modernize-use-designated-initializers]
254
+
// CHECK-MESSAGES-POD: :[[@LINE-2]]:9: warning: use designated initializer list to initialize 'S18' (aka 'S16') [modernize-use-designated-initializers]
255
+
256
+
S18 s182{1, .b=2};
257
+
// CHECK-MESSAGES: :[[@LINE-1]]:10: warning: use designated init expression to initialize field 'a' [modernize-use-designated-initializers]
258
+
// CHECK-MESSAGES-POD: :[[@LINE-2]]:10: warning: use designated init expression to initialize field 'a' [modernize-use-designated-initializers]
259
+
// CHECK-FIXES: S18 s182{.a=1, .b=2};
260
+
261
+
S18 s183{.a=1, .b=2}; // no issue
262
+
263
+
structS19 {
264
+
int i;
265
+
S17 s17;
266
+
S18 s18;
267
+
};
268
+
269
+
S19 s191{1, {2, .b=3}, {4, 5}};
270
+
// CHECK-MESSAGES: :[[@LINE-1]]:9: warning: use designated initializer list to initialize 'S19' [modernize-use-designated-initializers]
271
+
// CHECK-MESSAGES: :[[@LINE-8]]:1: note: aggregate type is defined here
272
+
// CHECK-MESSAGES: :[[@LINE-3]]:14: warning: use designated init expression to initialize field 'a' [modernize-use-designated-initializers]
273
+
// CHECK-MESSAGES: :[[@LINE-4]]:24: warning: use designated initializer list to initialize 'S18' (aka 'S16') [modernize-use-designated-initializers]
274
+
// CHECK-MESSAGES-POD: :[[@LINE-5]]:9: warning: use designated initializer list to initialize 'S19' [modernize-use-designated-initializers]
275
+
// CHECK-MESSAGES-POD: :[[@LINE-12]]:1: note: aggregate type is defined here
276
+
// CHECK-MESSAGES-POD: :[[@LINE-7]]:14: warning: use designated init expression to initialize field 'a' [modernize-use-designated-initializers]
277
+
// CHECK-MESSAGES-POD: :[[@LINE-8]]:24: warning: use designated initializer list to initialize 'S18' (aka 'S16') [modernize-use-designated-initializers]
0 commit comments