1 | // NOLINTNEXTLINE |
2 | class A { A(int i); }; |
3 | |
4 | class B { B(int i); }; |
5 | // CHECK-MESSAGES: :[[@LINE-1]]:11: warning: single-argument constructors must be marked explicit |
6 | |
7 | // NOLINTNEXTLINE |
8 | class C { C(int i); }; |
9 | |
10 | // NOLINTNEXTLINE(for-some-other-check) |
11 | class D { D(int i); }; |
12 | // CHECK-MESSAGES: :[[@LINE-1]]:11: warning: single-argument constructors must be marked explicit |
13 | |
14 | // NOLINTNEXTLINE() |
15 | class D1 { D1(int i); }; |
16 | // CHECK-MESSAGES: :[[@LINE-1]]:12: warning: single-argument constructors must be marked explicit |
17 | |
18 | // NOLINTNEXTLINE(*) |
19 | class D2 { D2(int i); }; |
20 | |
21 | // NOLINTNEXTLINE(not-closed-bracket-is-treated-as-skip-all |
22 | class D3 { D3(int i); }; |
23 | |
24 | // NOLINTNEXTLINE(google-explicit-constructor) |
25 | class D4 { D4(int i); }; |
26 | |
27 | // NOLINTNEXTLINE(some-check, google-explicit-constructor) |
28 | class D5 { D5(int i); }; |
29 | |
30 | // NOLINTNEXTLINE without-brackets-skip-all, another-check |
31 | class D6 { D6(int i); }; |
32 | |
33 | // NOLINTNEXTLINE |
34 | |
35 | class E { E(int i); }; |
36 | // CHECK-MESSAGES: :[[@LINE-1]]:11: warning: single-argument constructors must be marked explicit |
37 | |
38 | // NOLINTNEXTLINE |
39 | // |
40 | class F { F(int i); }; |
41 | // CHECK-MESSAGES: :[[@LINE-1]]:11: warning: single-argument constructors must be marked explicit |
42 | |
43 | #define MACRO(X) class X { X(int i); }; |
44 | MACRO(G) |
45 | // CHECK-MESSAGES: :[[@LINE-1]]:7: warning: single-argument constructors must be marked explicit |
46 | // NOLINTNEXTLINE |
47 | MACRO(H) |
48 | |
49 | #define MACRO_NOARG class I { I(int i); }; |
50 | // NOLINTNEXTLINE |
51 | MACRO_NOARG |
52 | |
53 | // NOLINTNEXTLINE(google*) |
54 | class I1 { I1(int i); }; |
55 | |
56 | // NOLINTNEXTLINE(*explicit-constructor) |
57 | class I2 { I2(int i); }; |
58 | |
59 | // NOLINTNEXTLINE(*explicit*) |
60 | class I3 { I3(int i); }; |
61 | |
62 | // NOLINTNEXTLINE(-explicit-constructor) |
63 | class I4 { I4(int x); }; |
64 | // CHECK-MESSAGES: :[[@LINE-1]]:12: warning: single-argument constructors must be marked explicit |
65 | |
66 | // NOLINTNEXTLINE(google*,-google*) |
67 | class I5 { I5(int x); }; |
68 | |
69 | // NOLINTNEXTLINE(*,-google*) |
70 | class I6 { I6(int x); }; |
71 | |
72 | int array1[10]; |
73 | // CHECK-MESSAGES: :[[@LINE-1]]:1: warning: do not declare C-style arrays, use std::array<> instead [cppcoreguidelines-avoid-c-arrays,modernize-avoid-c-arrays] |
74 | |
75 | // NOLINTNEXTLINE(cppcoreguidelines-avoid-c-arrays) |
76 | int array2[10]; |
77 | // CHECK-MESSAGES: :[[@LINE-1]]:1: warning: do not declare C-style arrays, use std::array<> instead [modernize-avoid-c-arrays] |
78 | |
79 | // NOLINTNEXTLINE(cppcoreguidelines-avoid-c-arrays,modernize-avoid-c-arrays) |
80 | int array3[10]; |
81 | |
82 | // NOLINTNEXTLINE(*-avoid-c-arrays) |
83 | int array4[10]; |
84 | |
85 | // CHECK-MESSAGES: Suppressed 19 warnings (19 NOLINT) |
86 | |
87 | // RUN: %check_clang_tidy %s google-explicit-constructor,clang-diagnostic-unused-variable,cppcoreguidelines-avoid-c-arrays,modernize-avoid-c-arrays %t -- -extra-arg=-Wunused-variable |
88 | |