xref: /llvm-project/clang-tools-extra/test/clang-tidy/infrastructure/check_clang_tidy.cpp (revision 885c559369fe3d6323898c17787bd0454065fc34)
1*885c5593SDmitri Gribenko // RUN: %check_clang_tidy -check-suffix=USING-A %s misc-unused-using-decls %t -- -- -DUSING_A
2*885c5593SDmitri Gribenko // RUN: %check_clang_tidy -check-suffix=USING-B %s misc-unused-using-decls %t -- -- -DUSING_B
3*885c5593SDmitri Gribenko // RUN: %check_clang_tidy -check-suffix=USING-C,USING-D %s misc-unused-using-decls %t -- -- -DUSING_C_D
4*885c5593SDmitri Gribenko // RUN: %check_clang_tidy -check-suffixes=USING-C,USING-D %s misc-unused-using-decls %t -- -- -DUSING_C_D
5*885c5593SDmitri Gribenko // RUN: %check_clang_tidy %s misc-unused-using-decls %t
6*885c5593SDmitri Gribenko 
7*885c5593SDmitri Gribenko namespace a {class A {}; class B {}; class C {}; class D {}; class E {};}
8*885c5593SDmitri Gribenko namespace b {
9*885c5593SDmitri Gribenko #if defined(USING_A)
10*885c5593SDmitri Gribenko using a::A;
11*885c5593SDmitri Gribenko #elif  defined(USING_B)
12*885c5593SDmitri Gribenko using a::B;
13*885c5593SDmitri Gribenko #elif  defined(USING_C_D)
14*885c5593SDmitri Gribenko using a::C;
15*885c5593SDmitri Gribenko using a::D;
16*885c5593SDmitri Gribenko #else
17*885c5593SDmitri Gribenko using a::E;
18*885c5593SDmitri Gribenko #endif
19*885c5593SDmitri Gribenko }
20*885c5593SDmitri Gribenko namespace c {}
21*885c5593SDmitri Gribenko // CHECK-MESSAGES-USING-A: warning: using decl 'A' {{.*}}
22*885c5593SDmitri Gribenko // CHECK-MESSAGES-USING-B: warning: using decl 'B' {{.*}}
23*885c5593SDmitri Gribenko // CHECK-MESSAGES-USING-C: warning: using decl 'C' {{.*}}
24*885c5593SDmitri Gribenko // CHECK-MESSAGES-USING-D: warning: using decl 'D' {{.*}}
25*885c5593SDmitri Gribenko // CHECK-MESSAGES: warning: using decl 'E' {{.*}}
26*885c5593SDmitri Gribenko // CHECK-FIXES-USING-A-NOT: using a::A;$
27*885c5593SDmitri Gribenko // CHECK-FIXES-USING-B-NOT: using a::B;$
28*885c5593SDmitri Gribenko // CHECK-FIXES-USING-C-NOT: using a::C;$
29*885c5593SDmitri Gribenko // CHECK-FIXES-USING-C-NOT: using a::D;$
30*885c5593SDmitri Gribenko // CHECK-FIXES-USING-D-NOT: using a::C;$
31*885c5593SDmitri Gribenko // CHECK-FIXES-USING-D-NOT: using a::D;$
32*885c5593SDmitri Gribenko // CHECK-FIXES-NOT: using a::E;$
33