https://github.com/capitan-davide updated 
https://github.com/llvm/llvm-project/pull/158480

>From d70698939c4a7bb43c2eba139852079b6d3b3bcd Mon Sep 17 00:00:00 2001
From: Davide Cunial <dcun...@proton.me>
Date: Sun, 14 Sep 2025 15:16:17 +0200
Subject: [PATCH 1/2] [clang-tidy] Fix a couple of suspicious StringRef::data()
 usages

---
 .../clang-tidy/modernize/UseEqualsDefaultCheck.cpp     |  2 +-
 .../clang-tidy/readability/IdentifierNamingCheck.cpp   | 10 ++++------
 2 files changed, 5 insertions(+), 7 deletions(-)

diff --git a/clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp 
b/clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp
index f0c541eaca0a0..cf31f4a1a4c8d 100644
--- a/clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp
+++ b/clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp
@@ -204,7 +204,7 @@ static bool bodyEmpty(const ASTContext *Context, const 
CompoundStmt *Body) {
       CharSourceRange::getCharRange(Body->getLBracLoc().getLocWithOffset(1),
                                     Body->getRBracLoc()),
       Context->getSourceManager(), Context->getLangOpts(), &Invalid);
-  return !Invalid && std::strspn(Text.data(), " \t\r\n") == Text.size();
+  return !Invalid && Text.ltrim(" \t\r\n").empty();
 }
 
 UseEqualsDefaultCheck::UseEqualsDefaultCheck(StringRef Name,
diff --git a/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp 
b/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
index c8b62211c4b2e..4935a1a833fbd 100644
--- a/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
@@ -337,8 +337,7 @@ std::string 
IdentifierNamingCheck::HungarianNotation::getDeclTypeName(
 
     // Remove keywords
     for (StringRef Kw : Keywords) {
-      for (size_t Pos = 0;
-           (Pos = Type.find(Kw.data(), Pos)) != std::string::npos;) {
+      for (size_t Pos = 0; (Pos = Type.find(Kw, Pos)) != std::string::npos;) {
         Type.replace(Pos, Kw.size(), "");
       }
     }
@@ -373,7 +372,7 @@ std::string 
IdentifierNamingCheck::HungarianNotation::getDeclTypeName(
         " int", " char", " double", " long", " short"};
     bool RedundantRemoved = false;
     for (auto Kw : TailsOfMultiWordType) {
-      size_t Pos = Type.rfind(Kw.data());
+      size_t Pos = Type.rfind(Kw);
       if (Pos != std::string::npos) {
         const size_t PtrCount = getAsteriskCount(Type, ND);
         Type = Type.substr(0, Pos + Kw.size() + PtrCount);
@@ -602,9 +601,8 @@ std::string 
IdentifierNamingCheck::HungarianNotation::getDataTypePrefix(
   if (PtrCount > 0) {
     ModifiedTypeName = [&](std::string Str, StringRef From, StringRef To) {
       size_t StartPos = 0;
-      while ((StartPos = Str.find(From.data(), StartPos)) !=
-             std::string::npos) {
-        Str.replace(StartPos, From.size(), To.data());
+      while ((StartPos = Str.find(From, StartPos)) != std::string::npos) {
+        Str.replace(StartPos, From.size(), To);
         StartPos += To.size();
       }
       return Str;

>From c5279c1db464cd619c511e428f79cb3297e00288 Mon Sep 17 00:00:00 2001
From: Davide Cunial <dcun...@proton.me>
Date: Sun, 14 Sep 2025 20:45:42 +0200
Subject: [PATCH 2/2] [clang-tidy] Apply suggestions from code review

---
 clang-tools-extra/clang-tidy/.clang-tidy          | 1 -
 clang-tools-extra/clang-tidy/ClangTidyOptions.cpp | 6 ++++++
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/clang-tools-extra/clang-tidy/.clang-tidy 
b/clang-tools-extra/clang-tidy/.clang-tidy
index d290901730405..0c2f34b529016 100644
--- a/clang-tools-extra/clang-tidy/.clang-tidy
+++ b/clang-tools-extra/clang-tidy/.clang-tidy
@@ -5,7 +5,6 @@ Checks: >
   -bugprone-branch-clone,
   -bugprone-easily-swappable-parameters,
   -bugprone-narrowing-conversions,
-  -bugprone-suspicious-stringview-data-usage,
   -bugprone-unchecked-optional-access,
   -bugprone-unused-return-value,
   modernize-*,
diff --git a/clang-tools-extra/clang-tidy/ClangTidyOptions.cpp 
b/clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
index e59f157b468bc..d27075610b0ef 100644
--- a/clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
+++ b/clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
@@ -99,7 +99,10 @@ void yamlize(IO &IO, ClangTidyOptions::OptionMap &Val, bool,
     for (auto &Option : SortedOptions) {
       bool UseDefault = false;
       void *SaveInfo = nullptr;
+      // NOLINTBEGIN(bugprone-suspicious-stringview-data-usage): Requires
+      // 'llvm::yaml::IO' to accept 'StringRef'
       IO.preflightKey(Option.first.data(), true, false, UseDefault, SaveInfo);
+      // NOLINTEND
       IO.scalarString(Option.second, needsQuotes(Option.second));
       IO.postflightKey(SaveInfo);
     }
@@ -116,7 +119,10 @@ void yamlize(IO &IO, ClangTidyOptions::OptionMap &Val, 
bool,
     } else if (isa<MappingNode>(I.getCurrentNode())) {
       IO.beginMapping();
       for (StringRef Key : IO.keys()) {
+        // NOLINTBEGIN(bugprone-suspicious-stringview-data-usage): Requires
+        // 'llvm::yaml::IO' to accept 'StringRef'
         IO.mapRequired(Key.data(), Val[Key].Value);
+        // NOLINTEND
       }
       IO.endMapping();
     } else {

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to