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