https://github.com/kazutakahirata created https://github.com/llvm/llvm-project/pull/144242
When we iterate over std::vector<std::string>, we can directly assign each element to StringRef. We do not need to go through separate statements. >From e5e1102d5d936347be78421c9bb244a0e2bb54d8 Mon Sep 17 00:00:00 2001 From: Kazu Hirata <k...@google.com> Date: Fri, 13 Jun 2025 13:22:43 -0700 Subject: [PATCH] [clang] Use StringRef in range-based for loops (NFC) When we iterate over std::vector<std::string>, we can directly assign each element to StringRef. We do not need to go through separate statements. --- clang/lib/Basic/TargetInfo.cpp | 3 +-- clang/lib/Sema/SemaDeclAttr.cpp | 6 ++---- clang/lib/Tooling/ArgumentsAdjusters.cpp | 3 +-- 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/clang/lib/Basic/TargetInfo.cpp b/clang/lib/Basic/TargetInfo.cpp index 7b577632fdf55..9429a316a9196 100644 --- a/clang/lib/Basic/TargetInfo.cpp +++ b/clang/lib/Basic/TargetInfo.cpp @@ -555,8 +555,7 @@ void TargetInfo::adjust(DiagnosticsEngine &Diags, LangOptions &Opts) { bool TargetInfo::initFeatureMap( llvm::StringMap<bool> &Features, DiagnosticsEngine &Diags, StringRef CPU, const std::vector<std::string> &FeatureVec) const { - for (const auto &F : FeatureVec) { - StringRef Name = F; + for (StringRef Name : FeatureVec) { if (Name.empty()) continue; // Apply the feature via the target. diff --git a/clang/lib/Sema/SemaDeclAttr.cpp b/clang/lib/Sema/SemaDeclAttr.cpp index 9c985e6bd5e03..2e826adf9229f 100644 --- a/clang/lib/Sema/SemaDeclAttr.cpp +++ b/clang/lib/Sema/SemaDeclAttr.cpp @@ -3232,8 +3232,7 @@ bool Sema::checkTargetAttr(SourceLocation LiteralLoc, StringRef AttrStr) { if (ParsedAttrs.Duplicate != "") return Diag(LiteralLoc, diag::err_duplicate_target_attribute) << Duplicate << None << ParsedAttrs.Duplicate << Target; - for (const auto &Feature : ParsedAttrs.Features) { - StringRef CurFeature = Feature; + for (StringRef CurFeature : ParsedAttrs.Features) { if (!CurFeature.starts_with('+') && !CurFeature.starts_with('-')) return Diag(LiteralLoc, diag::warn_unsupported_target_attribute) << Unsupported << None << AttrStr << Target; @@ -3241,8 +3240,7 @@ bool Sema::checkTargetAttr(SourceLocation LiteralLoc, StringRef AttrStr) { } if (Context.getTargetInfo().getTriple().isLoongArch()) { - for (const auto &Feature : ParsedAttrs.Features) { - StringRef CurFeature = Feature; + for (StringRef CurFeature : ParsedAttrs.Features) { if (CurFeature.starts_with("!arch=")) { StringRef ArchValue = CurFeature.split("=").second.trim(); return Diag(LiteralLoc, diag::err_attribute_unsupported) diff --git a/clang/lib/Tooling/ArgumentsAdjusters.cpp b/clang/lib/Tooling/ArgumentsAdjusters.cpp index d01c57ee69c00..999fa790124cb 100644 --- a/clang/lib/Tooling/ArgumentsAdjusters.cpp +++ b/clang/lib/Tooling/ArgumentsAdjusters.cpp @@ -22,8 +22,7 @@ namespace clang { namespace tooling { static StringRef getDriverMode(const CommandLineArguments &Args) { - for (const auto &Arg : Args) { - StringRef ArgRef = Arg; + for (StringRef ArgRef : Args) { if (ArgRef.consume_front("--driver-mode=")) { return ArgRef; } _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits