From 769eb0d5d57a37a3668c6fffef1bb61f8ee76635 Mon Sep 17 00:00:00 2001 From: Haojian Wu Date: Mon, 9 May 2016 13:37:12 +0000 Subject: Support variables and functions types in misc-unused-using-decls. Summary: Fix PR27429. Reviewers: djasper Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D20018 llvm-svn: 268917 --- .../test/clang-tidy/misc-unused-using-decls.cpp | 51 ++++++++++++++++++++++ 1 file changed, 51 insertions(+) (limited to 'clang-tools-extra/test/clang-tidy/misc-unused-using-decls.cpp') 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 class E {}; template 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 int UsedTemplateFunc() { return 1; } +template 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 data; D::i = 1; F f; + void (*func)() = &G::func; + int *i = &H::i; + UsedInstance.i; + UsedFunc(); + UsedTemplateFunc(); + cout << endl; } -- cgit v1.2.3