Author: djasper
Date: Tue Jul 28 08:19:12 2015
New Revision: 243414

URL: http://llvm.org/viewvc/llvm-project?rev=243414&view=rev
Log:
misc-unused-parameters: Only remove parameters in the main source file.
In headers, they might always be pulled in to different TUs, even if
they are declared static or nested in an unnamed namespace.

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=243414&r1=243413&r2=243414&view=diff
==============================================================================
--- clang-tools-extra/trunk/clang-tidy/misc/UnusedParametersCheck.cpp (original)
+++ clang-tools-extra/trunk/clang-tidy/misc/UnusedParametersCheck.cpp Tue Jul 
28 08:19:12 2015
@@ -70,7 +70,9 @@ void UnusedParametersCheck::warnOnUnused
   };
 
   // Comment out parameter name for non-local functions.
-  if (Function->isExternallyVisible() || UsedByRef()) {
+  if (Function->isExternallyVisible() ||
+      !Result.SourceManager->isInMainFile(Function->getLocation()) ||
+      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

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=243414&r1=243413&r2=243414&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 Jul 
28 08:19:12 2015
@@ -1,6 +1,12 @@
-// RUN: $(dirname %s)/check_clang_tidy.sh %s misc-unused-parameters %t
+// RUN: echo "static void staticFunctionHeader(int i) {}" > %T/header.h
+// RUN: echo "static void staticFunctionHeader(int  /*i*/) {}" > 
%T/header-fixed.h
+// RUN: $(dirname %s)/check_clang_tidy.sh %s misc-unused-parameters %t 
-header-filter='.*' --
+// RUN: diff %T/header.h %T/header-fixed.h
 // REQUIRES: shell
 
+#include "header.h"
+// CHECK-MESSAGES: header.h:1:38: warning
+
 // Basic removal
 // =============
 void a(int i) {}


_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to