summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
diff options
context:
space:
mode:
authorFelix Berger <flx@google.com>2016-11-04 20:51:31 +0000
committerFelix Berger <flx@google.com>2016-11-04 20:51:31 +0000
commit7c6d289d66dfc1c1b489783f1496623dadfe36a8 (patch)
tree35cdefdfc6a803c2251b688509e51ed51031436f /clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
parentb7eb7fc892184d44b3e105be7d3ce2ed25f9cc6b (diff)
downloadbcm5719-llvm-7c6d289d66dfc1c1b489783f1496623dadfe36a8.tar.gz
bcm5719-llvm-7c6d289d66dfc1c1b489783f1496623dadfe36a8.zip
[ClangTidy - performance-unnecessary-value-param] Only add "const" when current parameter is not already const qualified
Reviewers: alexfh, sbenza, aaron.ballman Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D26207 llvm-svn: 286010
Diffstat (limited to 'clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp')
-rw-r--r--clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp b/clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
index f00133c4987..1d229cf1e38 100644
--- a/clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
+++ b/clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
@@ -128,7 +128,10 @@ void UnnecessaryValueParamCheck::check(const MatchFinder::MatchResult &Result) {
const auto &CurrentParam = *FunctionDecl->getParamDecl(Index);
Diag << utils::fixit::changeVarDeclToReference(CurrentParam,
*Result.Context);
- if (!IsConstQualified)
+ // The parameter of each declaration needs to be checked individually as to
+ // whether it is const or not as constness can differ between definition and
+ // declaration.
+ if (!CurrentParam.getType().getCanonicalType().isConstQualified())
Diag << utils::fixit::changeVarDeclToConst(CurrentParam);
}
}
OpenPOWER on IntegriCloud