diff options
Diffstat (limited to 'clang-tools-extra/test/clang-tidy/misc-unused-using-decls.cpp')
-rw-r--r-- | clang-tools-extra/test/clang-tidy/misc-unused-using-decls.cpp | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/clang-tools-extra/test/clang-tidy/misc-unused-using-decls.cpp b/clang-tools-extra/test/clang-tidy/misc-unused-using-decls.cpp index d9f6b2174a6..47917a850e7 100644 --- a/clang-tools-extra/test/clang-tidy/misc-unused-using-decls.cpp +++ b/clang-tools-extra/test/clang-tidy/misc-unused-using-decls.cpp @@ -10,6 +10,32 @@ class D; class D { public: static int i; }; template <typename T> class E {}; template <typename T> class F {}; +class G { public: static void func() {} }; +class H { public: static int i; }; +class I { + public: + static int ii; +}; + +class Base { + public: + void f(); +}; + +D UsedInstance; +D UnusedInstance; + +int UsedFunc() { return 1; } +int UnusedFunc() { return 1; } +template <typename T> int UsedTemplateFunc() { return 1; } +template <typename T> int UnusedTemplateFunc() { return 1; } + +class ostream { +public: + ostream &operator<<(ostream &(*PF)(ostream &)); +}; +extern ostream cout; +ostream &endl(ostream &os); } // ----- Using declarations ----- @@ -24,6 +50,25 @@ using n::E; // E // CHECK-MESSAGES: :[[@LINE-1]]:10: warning: using decl 'E' is unused // CHECK-FIXES: {{^}}// E using n::F; +using n::G; +using n::H; +using n::I; +int I::ii = 1; +class Derived : public n::Base { + public: + using Base::f; +}; +using n::UsedInstance; +using n::UsedFunc; +using n::UsedTemplateFunc; +using n::UnusedInstance; // UnusedInstance +// CHECK-MESSAGES: :[[@LINE-1]]:10: warning: using decl 'UnusedInstance' is unused +// CHECK-FIXES: {{^}}// UnusedInstance +using n::UnusedFunc; // UnusedFunc +// CHECK-MESSAGES: :[[@LINE-1]]:10: warning: using decl 'UnusedFunc' is unused +// CHECK-FIXES: {{^}}// UnusedFunc +using n::cout; +using n::endl; // ----- Usages ----- void f(B b); @@ -31,5 +76,11 @@ void g() { vector<C> data; D::i = 1; F<int> f; + void (*func)() = &G::func; + int *i = &H::i; + UsedInstance.i; + UsedFunc(); + UsedTemplateFunc<int>(); + cout << endl; } |