[clang] [clang] Use StringRef in range-based for loops (NFC) (PR #144242)
via cfe-commits
cfe-commits at lists.llvm.org
Sat Jun 14 17:38:56 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-clang
Author: Kazu Hirata (kazutakahirata)
<details>
<summary>Changes</summary>
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.
---
Full diff: https://github.com/llvm/llvm-project/pull/144242.diff
3 Files Affected:
- (modified) clang/lib/Basic/TargetInfo.cpp (+1-2)
- (modified) clang/lib/Sema/SemaDeclAttr.cpp (+2-4)
- (modified) clang/lib/Tooling/ArgumentsAdjusters.cpp (+1-2)
``````````diff
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;
}
``````````
</details>
https://github.com/llvm/llvm-project/pull/144242
More information about the cfe-commits
mailing list