| 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 | |