diff options
| -rw-r--r-- | clang-tools-extra/clang-tidy/misc/UnusedParametersCheck.cpp | 3 | ||||
| -rw-r--r-- | clang-tools-extra/test/clang-tidy/misc-unused-parameters.c | 13 |
2 files changed, 15 insertions, 1 deletions
diff --git a/clang-tools-extra/clang-tidy/misc/UnusedParametersCheck.cpp b/clang-tools-extra/clang-tidy/misc/UnusedParametersCheck.cpp index f7770cc8e40..326fb0595e0 100644 --- a/clang-tools-extra/clang-tidy/misc/UnusedParametersCheck.cpp +++ b/clang-tools-extra/clang-tidy/misc/UnusedParametersCheck.cpp @@ -97,7 +97,8 @@ void UnusedParametersCheck::warnOnUnusedParameter( void UnusedParametersCheck::check(const MatchFinder::MatchResult &Result) { const auto *Function = Result.Nodes.getNodeAs<FunctionDecl>("function"); - if (!Function->doesThisDeclarationHaveABody()) + if (!Function->doesThisDeclarationHaveABody() || + !Function->hasWrittenPrototype()) return; for (unsigned i = 0, e = Function->getNumParams(); i != e; ++i) { const auto *Param = Function->getParamDecl(i); diff --git a/clang-tools-extra/test/clang-tidy/misc-unused-parameters.c b/clang-tools-extra/test/clang-tidy/misc-unused-parameters.c new file mode 100644 index 00000000000..7c1ab34b7b5 --- /dev/null +++ b/clang-tools-extra/test/clang-tidy/misc-unused-parameters.c @@ -0,0 +1,13 @@ +// RUN: $(dirname %s)/check_clang_tidy.sh %s misc-unused-parameters %t -- -xc +// REQUIRES: shell + +// Basic removal +// ============= +void a(int i) {} +// CHECK-MESSAGES: :[[@LINE-1]]:12: warning: parameter 'i' is unused [misc-unused-parameters] +// CHECK-FIXES: {{^}}void a(int /*i*/) {}{{$}} + +// Unchanged cases +// =============== +void h(i, c, d) int i; char *c, *d; {} // Don't mess with K&R style + |

