[clang] [clang] Use StringRef in range-based for loops (NFC) (PR #144242)
Kazu Hirata via cfe-commits
cfe-commits at lists.llvm.org
Sat Jun 14 17:38:23 PDT 2025
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 <kazu at 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;
}
More information about the cfe-commits
mailing list