summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--clang-tools-extra/clang-tidy/misc/UnusedParametersCheck.cpp7
-rw-r--r--clang-tools-extra/test/clang-tidy/misc-unused-parameters.cpp6
2 files changed, 10 insertions, 3 deletions
diff --git a/clang-tools-extra/clang-tidy/misc/UnusedParametersCheck.cpp b/clang-tools-extra/clang-tidy/misc/UnusedParametersCheck.cpp
index 02cb6216e38..18e39609f0e 100644
--- a/clang-tools-extra/clang-tidy/misc/UnusedParametersCheck.cpp
+++ b/clang-tools-extra/clang-tidy/misc/UnusedParametersCheck.cpp
@@ -70,10 +70,11 @@ void UnusedParametersCheck::warnOnUnusedParameter(
};
// Comment out parameter name for non-local functions.
- if ((Function->isExternallyVisible() &&
- Function->getStorageClass() != StorageClass::SC_Static) ||
- UsedByRef()) {
+ if (Function->isExternallyVisible() || UsedByRef()) {
SourceRange RemovalRange(Param->getLocation(), Param->getLocEnd());
+ // Note: We always add a space before the '/*' to not accidentally create a
+ // '*/*' for pointer types, which doesn't start a comment. clang-format will
+ // clean this up afterwards.
MyDiag << FixItHint::CreateReplacement(
RemovalRange, (Twine(" /*") + Param->getName() + "*/").str());
return;
diff --git a/clang-tools-extra/test/clang-tidy/misc-unused-parameters.cpp b/clang-tools-extra/test/clang-tidy/misc-unused-parameters.cpp
index e017128d5d9..7d3c37d6445 100644
--- a/clang-tools-extra/test/clang-tidy/misc-unused-parameters.cpp
+++ b/clang-tools-extra/test/clang-tidy/misc-unused-parameters.cpp
@@ -57,6 +57,12 @@ static void someCallSites() {
staticFunctionE();
}
+class SomeClass {
+ static void f(int i) {}
+// CHECK-MESSAGES: :[[@LINE-1]]:21: warning
+// CHECK-FIXES: static void f(int /*i*/) {}
+};
+
namespace {
class C {
public:
OpenPOWER on IntegriCloud