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); _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits