[clang] [Clang][NFC] Avoid repeating copy of std::string in lambda implementation (PR #153863)
Shafik Yaghmour via cfe-commits
cfe-commits at lists.llvm.org
Fri Aug 15 12:50:11 PDT 2025
https://github.com/shafik updated https://github.com/llvm/llvm-project/pull/153863
>From f0c903995ffb19e02394601179f05082c132d037 Mon Sep 17 00:00:00 2001
From: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: Fri, 15 Aug 2025 12:43:25 -0700
Subject: [PATCH 1/2] [Clang][NFC] Avoid repeating copy of std::string in
lambda implementation
Static analysis flagged this code because it will cause unneeded copies of
std::string. This fix is merely to use const auto & in the trailing return type.
---
.../clang/Tooling/DependencyScanning/DependencyScanningTool.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/clang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h b/clang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h
index c3601a4e73e1f..81177a04654bb 100644
--- a/clang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h
+++ b/clang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h
@@ -205,7 +205,7 @@ class FullDependencyConsumer : public DependencyConsumer {
std::vector<P1689ModuleInfo> Requires) override {
ModuleName = Provided ? Provided->ModuleName : "";
llvm::transform(Requires, std::back_inserter(NamedModuleDeps),
- [](const auto &Module) { return Module.ModuleName; });
+ [](const auto &Module) -> const auto & { return Module.ModuleName; });
}
TranslationUnitDeps takeTranslationUnitDeps();
>From 2eab0c5402c5e2f0e46c06ef762574e65a438fa4 Mon Sep 17 00:00:00 2001
From: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: Fri, 15 Aug 2025 12:49:45 -0700
Subject: [PATCH 2/2] apply clang-format
---
.../Tooling/DependencyScanning/DependencyScanningTool.h | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/clang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h b/clang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h
index 81177a04654bb..918b3b07da5e9 100644
--- a/clang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h
+++ b/clang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h
@@ -204,8 +204,9 @@ class FullDependencyConsumer : public DependencyConsumer {
std::optional<P1689ModuleInfo> Provided,
std::vector<P1689ModuleInfo> Requires) override {
ModuleName = Provided ? Provided->ModuleName : "";
- llvm::transform(Requires, std::back_inserter(NamedModuleDeps),
- [](const auto &Module) -> const auto & { return Module.ModuleName; });
+ llvm::transform(
+ Requires, std::back_inserter(NamedModuleDeps),
+ [](const auto &Module) -> const auto & { return Module.ModuleName; });
}
TranslationUnitDeps takeTranslationUnitDeps();
More information about the cfe-commits
mailing list