[clang-tools-extra] r248252 - misc-unused-parameter: Ignore lambda static invokers.

Daniel Jasper via cfe-commits cfe-commits at lists.llvm.org
Tue Sep 22 02:20:21 PDT 2015


Author: djasper
Date: Tue Sep 22 04:20:20 2015
New Revision: 248252

URL: http://llvm.org/viewvc/llvm-project?rev=248252&view=rev
Log:
misc-unused-parameter: Ignore lambda static invokers.

Modified:
    clang-tools-extra/trunk/clang-tidy/misc/UnusedParametersCheck.cpp
    clang-tools-extra/trunk/test/clang-tidy/misc-unused-parameters.cpp

Modified: clang-tools-extra/trunk/clang-tidy/misc/UnusedParametersCheck.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-tidy/misc/UnusedParametersCheck.cpp?rev=248252&r1=248251&r2=248252&view=diff
==============================================================================
--- clang-tools-extra/trunk/clang-tidy/misc/UnusedParametersCheck.cpp (original)
+++ clang-tools-extra/trunk/clang-tidy/misc/UnusedParametersCheck.cpp Tue Sep 22 04:20:20 2015
@@ -101,6 +101,9 @@ void UnusedParametersCheck::check(const
   if (!Function->doesThisDeclarationHaveABody() ||
       !Function->hasWrittenPrototype())
     return;
+  if (const auto *Method = dyn_cast<CXXMethodDecl>(Function))
+    if (Method->isLambdaStaticInvoker())
+      return;
   for (unsigned i = 0, e = Function->getNumParams(); i != e; ++i) {
     const auto *Param = Function->getParamDecl(i);
     if (Param->isUsed() || Param->isReferenced() || !Param->getDeclName() ||

Modified: clang-tools-extra/trunk/test/clang-tidy/misc-unused-parameters.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clang-tidy/misc-unused-parameters.cpp?rev=248252&r1=248251&r2=248252&view=diff
==============================================================================
--- clang-tools-extra/trunk/test/clang-tidy/misc-unused-parameters.cpp (original)
+++ clang-tools-extra/trunk/test/clang-tidy/misc-unused-parameters.cpp Tue Sep 22 04:20:20 2015
@@ -1,6 +1,6 @@
 // RUN: echo "static void staticFunctionHeader(int i) {}" > %T/header.h
 // RUN: echo "static void staticFunctionHeader(int  /*i*/) {}" > %T/header-fixed.h
-// RUN: %python %S/check_clang_tidy.py %s misc-unused-parameters %t -header-filter='.*' -- -fno-delayed-template-parsing
+// RUN: %python %S/check_clang_tidy.py %s misc-unused-parameters %t -header-filter='.*' -- -std=c++11 -fno-delayed-template-parsing
 // RUN: diff %T/header.h %T/header-fixed.h
 
 #include "header.h"
@@ -25,6 +25,9 @@ void c(int *i) {}
 void g(int i);             // Don't remove stuff in declarations
 void h(int i) { (void)i; } // Don't remove used parameters
 
+bool useLambda(int (*fn)(int));
+static bool static_var = useLambda([] (int a) { return a; });
+
 // Remove parameters of local functions
 // ====================================
 static void staticFunctionA(int i);




More information about the cfe-commits mailing list