1 class A { A(int i); };
2 // CHECK-MESSAGES: :[[@LINE-1]]:11: warning: single-argument constructors must be marked explicit
3 
4 // NOLINTNEXTLINE
5 class B { B(int i); };
6 
7 // NOLINTNEXTLINE(for-some-other-check)
8 class C { C(int i); };
9 // CHECK-MESSAGES: :[[@LINE-1]]:11: warning: single-argument constructors must be marked explicit
10 
11 // NOLINTNEXTLINE(*)
12 class C1 { C1(int i); };
13 
14 // NOLINTNEXTLINE(not-closed-bracket-is-treated-as-skip-all
15 class C2 { C2(int i); };
16 
17 // NOLINTNEXTLINE(google-explicit-constructor)
18 class C3 { C3(int i); };
19 
20 // NOLINTNEXTLINE(some-check, google-explicit-constructor)
21 class C4 { C4(int i); };
22 
23 // NOLINTNEXTLINE without-brackets-skip-all, another-check
24 class C5 { C5(int i); };
25 
26 
27 // NOLINTNEXTLINE
28 
29 class D { D(int i); };
30 // CHECK-MESSAGES: :[[@LINE-1]]:11: warning: single-argument constructors must be marked explicit
31 
32 // NOLINTNEXTLINE
33 //
34 class E { E(int i); };
35 // CHECK-MESSAGES: :[[@LINE-1]]:11: warning: single-argument constructors must be marked explicit
36 
37 #define MACRO(X) class X { X(int i); };
38 MACRO(F)
39 // CHECK-MESSAGES: :[[@LINE-1]]:7: warning: single-argument constructors must be marked explicit
40 // NOLINTNEXTLINE
41 MACRO(G)
42 
43 #define MACRO_NOARG class H { H(int i); };
44 // NOLINTNEXTLINE
45 MACRO_NOARG
46 
47 // CHECK-MESSAGES: Suppressed 8 warnings (8 NOLINT)
48 
49 // RUN: %check_clang_tidy %s google-explicit-constructor %t --
50