aboutsummaryrefslogtreecommitdiff
path: root/clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
diff options
context:
space:
mode:
authorCongcong Cai <congcongcai0907@163.com>2024-04-17 09:57:30 +0800
committerGitHub <noreply@github.com>2024-04-17 09:57:30 +0800
commitf40f4fcee506deacda0594362509ee7dddcf5e37 (patch)
treebd1caa00726e877953d8e53f8b084104a5bd82fb /clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
parent0af8caeb2fa4d68fcabe6297383d1cdf1cae8b87 (diff)
downloadllvm-f40f4fcee506deacda0594362509ee7dddcf5e37.zip
llvm-f40f4fcee506deacda0594362509ee7dddcf5e37.tar.gz
llvm-f40f4fcee506deacda0594362509ee7dddcf5e37.tar.bz2
[clang analysis] ExprMutationAnalyzer support recursive forwarding reference (#88843)
Reapply for #88765. Partially fixes: #60895.
Diffstat (limited to 'clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp')
-rw-r--r--clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp b/clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
index 2fa7cd0..c507043 100644
--- a/clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
+++ b/clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
@@ -85,10 +85,10 @@ void UnnecessaryValueParamCheck::check(const MatchFinder::MatchResult &Result) {
TraversalKindScope RAII(*Result.Context, TK_AsIs);
- FunctionParmMutationAnalyzer &Analyzer =
- MutationAnalyzers.try_emplace(Function, *Function, *Result.Context)
- .first->second;
- if (Analyzer.isMutated(Param))
+ FunctionParmMutationAnalyzer *Analyzer =
+ FunctionParmMutationAnalyzer::getFunctionParmMutationAnalyzer(
+ *Function, *Result.Context, MutationAnalyzerCache);
+ if (Analyzer->isMutated(Param))
return;
const bool IsConstQualified =
@@ -169,7 +169,7 @@ void UnnecessaryValueParamCheck::storeOptions(
}
void UnnecessaryValueParamCheck::onEndOfTranslationUnit() {
- MutationAnalyzers.clear();
+ MutationAnalyzerCache.clear();
}
void UnnecessaryValueParamCheck::handleMoveFix(const ParmVarDecl &Var,