Author: hokein
Date: Tue Jun  7 03:55:38 2016
New Revision: 271991

URL: http://llvm.org/viewvc/llvm-project?rev=271991&view=rev
Log:
[clang-tidy] Ignore the deleted function in misc-definitions-in-headers.

Reviewers: alexfh

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D21059

Modified:
    clang-tools-extra/trunk/clang-tidy/misc/DefinitionsInHeadersCheck.cpp
    clang-tools-extra/trunk/test/clang-tidy/misc-definitions-in-headers.hpp

Modified: clang-tools-extra/trunk/clang-tidy/misc/DefinitionsInHeadersCheck.cpp
URL: 
http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-tidy/misc/DefinitionsInHeadersCheck.cpp?rev=271991&r1=271990&r2=271991&view=diff
==============================================================================
--- clang-tools-extra/trunk/clang-tidy/misc/DefinitionsInHeadersCheck.cpp 
(original)
+++ clang-tools-extra/trunk/clang-tidy/misc/DefinitionsInHeadersCheck.cpp Tue 
Jun  7 03:55:38 2016
@@ -53,15 +53,17 @@ void DefinitionsInHeadersCheck::storeOpt
 void DefinitionsInHeadersCheck::registerMatchers(MatchFinder *Finder) {
   if (!getLangOpts().CPlusPlus)
     return;
+  auto DefinitionMatcher =
+      anyOf(functionDecl(isDefinition(), unless(isDeleted())),
+            varDecl(isDefinition()));
   if (UseHeaderFileExtension) {
-    Finder->addMatcher(
-        namedDecl(anyOf(functionDecl(isDefinition()), varDecl(isDefinition())),
-                  usesHeaderFileExtension(HeaderFileExtensions))
-            .bind("name-decl"),
-        this);
+    Finder->addMatcher(namedDecl(DefinitionMatcher,
+                                 usesHeaderFileExtension(HeaderFileExtensions))
+                           .bind("name-decl"),
+                       this);
   } else {
     Finder->addMatcher(
-        namedDecl(anyOf(functionDecl(isDefinition()), varDecl(isDefinition())),
+        namedDecl(DefinitionMatcher,
                   anyOf(usesHeaderFileExtension(HeaderFileExtensions),
                         unless(isExpansionInMainFile())))
             .bind("name-decl"),

Modified: 
clang-tools-extra/trunk/test/clang-tidy/misc-definitions-in-headers.hpp
URL: 
http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clang-tidy/misc-definitions-in-headers.hpp?rev=271991&r1=271990&r2=271991&view=diff
==============================================================================
--- clang-tools-extra/trunk/test/clang-tidy/misc-definitions-in-headers.hpp 
(original)
+++ clang-tools-extra/trunk/test/clang-tidy/misc-definitions-in-headers.hpp Tue 
Jun  7 03:55:38 2016
@@ -103,6 +103,8 @@ namespace {
 // CHECK-MESSAGES: :[[@LINE-1]]:7: warning: function 'f7' defined in a header 
file;
 }
 
+int f8() = delete; // OK: the function being marked delete is not callable.
+
 int a = 1;
 // CHECK-MESSAGES: :[[@LINE-1]]:5: warning: variable 'a' defined in a header 
file; variable definitions in header files can lead to ODR violations 
[misc-definitions-in-headers]
 CA a1;


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

Reply via email to