diff options
author | Congcong Cai <congcongcai0907@163.com> | 2024-04-17 09:57:30 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-17 09:57:30 +0800 |
commit | f40f4fcee506deacda0594362509ee7dddcf5e37 (patch) | |
tree | bd1caa00726e877953d8e53f8b084104a5bd82fb /clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp | |
parent | 0af8caeb2fa4d68fcabe6297383d1cdf1cae8b87 (diff) | |
download | llvm-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.cpp | 10 |
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, |