Author: alexfh
Date: Thu Feb  9 04:41:27 2017
New Revision: 294578

URL: http://llvm.org/viewvc/llvm-project?rev=294578&view=rev
Log:
[clang-tidy] Fix misc-unused-using-decls false positives in presence of compile 
errors

Added:
    clang-tools-extra/trunk/test/clang-tidy/misc-unused-using-decls-errors.cpp
Modified:
    clang-tools-extra/trunk/clang-tidy/misc/UnusedUsingDeclsCheck.cpp

Modified: clang-tools-extra/trunk/clang-tidy/misc/UnusedUsingDeclsCheck.cpp
URL: 
http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-tidy/misc/UnusedUsingDeclsCheck.cpp?rev=294578&r1=294577&r2=294578&view=diff
==============================================================================
--- clang-tools-extra/trunk/clang-tidy/misc/UnusedUsingDeclsCheck.cpp (original)
+++ clang-tools-extra/trunk/clang-tidy/misc/UnusedUsingDeclsCheck.cpp Thu Feb  
9 04:41:27 2017
@@ -48,6 +48,9 @@ void UnusedUsingDeclsCheck::registerMatc
 }
 
 void UnusedUsingDeclsCheck::check(const MatchFinder::MatchResult &Result) {
+  if (Result.Context->getDiagnostics().hasUncompilableErrorOccurred())
+    return;
+
   if (const auto *Using = Result.Nodes.getNodeAs<UsingDecl>("using")) {
     // Ignores using-declarations defined in macros.
     if (Using->getLocation().isMacroID())

Added: 
clang-tools-extra/trunk/test/clang-tidy/misc-unused-using-decls-errors.cpp
URL: 
http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clang-tidy/misc-unused-using-decls-errors.cpp?rev=294578&view=auto
==============================================================================
--- clang-tools-extra/trunk/test/clang-tidy/misc-unused-using-decls-errors.cpp 
(added)
+++ clang-tools-extra/trunk/test/clang-tidy/misc-unused-using-decls-errors.cpp 
Thu Feb  9 04:41:27 2017
@@ -0,0 +1,12 @@
+// RUN: %check_clang_tidy %s misc-unused-using-decls %t
+
+namespace n {
+class C;
+}
+
+using n::C;
+
+void f() {
+  for (C *p : unknown()) {}
+  // CHECK-MESSAGES: :[[@LINE-1]]:15: error: use of undeclared identifier 
'unknown' [clang-diagnostic-error]
+}


_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to