[llvm] e2ee738 - Retire StrInStrNoCase. NFC.
Benjamin Kramer via llvm-commits
llvm-commits at lists.llvm.org
Fri Jan 2 09:48:29 PST 2026
Author: Benjamin Kramer
Date: 2026-01-02T18:48:17+01:00
New Revision: e2ee738b6d8441f9fcdd31004fa99035c4c95714
URL: https://github.com/llvm/llvm-project/commit/e2ee738b6d8441f9fcdd31004fa99035c4c95714
DIFF: https://github.com/llvm/llvm-project/commit/e2ee738b6d8441f9fcdd31004fa99035c4c95714.diff
LOG: Retire StrInStrNoCase. NFC.
Added:
Modified:
clang/lib/Analysis/RetainSummaryManager.cpp
clang/lib/StaticAnalyzer/Core/CallEvent.cpp
llvm/include/llvm/ADT/StringExtras.h
llvm/lib/Support/StringExtras.cpp
Removed:
################################################################################
diff --git a/clang/lib/Analysis/RetainSummaryManager.cpp b/clang/lib/Analysis/RetainSummaryManager.cpp
index 688efe40875d2..b622027ee7e1e 100644
--- a/clang/lib/Analysis/RetainSummaryManager.cpp
+++ b/clang/lib/Analysis/RetainSummaryManager.cpp
@@ -474,14 +474,13 @@ const RetainSummary *RetainSummaryManager::getSummaryForObjCOrCFObject(
// "AppendValue", or "SetAttribute", then we assume that arguments may
// "escape." This means that something else holds on to the object,
// allowing it be used even after its local retain count drops to 0.
- ArgEffectKind E =
- (StrInStrNoCase(FName, "InsertValue") != StringRef::npos ||
- StrInStrNoCase(FName, "AddValue") != StringRef::npos ||
- StrInStrNoCase(FName, "SetValue") != StringRef::npos ||
- StrInStrNoCase(FName, "AppendValue") != StringRef::npos ||
- StrInStrNoCase(FName, "SetAttribute") != StringRef::npos)
- ? MayEscape
- : DoNothing;
+ ArgEffectKind E = (FName.contains_insensitive("InsertValue") ||
+ FName.contains_insensitive("AddValue") ||
+ FName.contains_insensitive("SetValue") ||
+ FName.contains_insensitive("AppendValue") ||
+ FName.contains_insensitive("SetAttribute"))
+ ? MayEscape
+ : DoNothing;
return getPersistentSummary(RetEffect::MakeNoRet(), ScratchArgs,
ArgEffect(DoNothing), ArgEffect(E, ObjKind::CF));
diff --git a/clang/lib/StaticAnalyzer/Core/CallEvent.cpp b/clang/lib/StaticAnalyzer/Core/CallEvent.cpp
index 3c0e2641e65fe..c70a4af2eabb5 100644
--- a/clang/lib/StaticAnalyzer/Core/CallEvent.cpp
+++ b/clang/lib/StaticAnalyzer/Core/CallEvent.cpp
@@ -668,12 +668,12 @@ bool AnyFunctionCall::argumentsMayEscape() const {
// - Many CF containers allow objects to escape through custom
// allocators/deallocators upon container construction. (PR12101)
if (FName.starts_with("CF") || FName.starts_with("CG")) {
- return StrInStrNoCase(FName, "InsertValue") != StringRef::npos ||
- StrInStrNoCase(FName, "AddValue") != StringRef::npos ||
- StrInStrNoCase(FName, "SetValue") != StringRef::npos ||
- StrInStrNoCase(FName, "WithData") != StringRef::npos ||
- StrInStrNoCase(FName, "AppendValue") != StringRef::npos ||
- StrInStrNoCase(FName, "SetAttribute") != StringRef::npos;
+ return FName.contains_insensitive("InsertValue") ||
+ FName.contains_insensitive("AddValue") ||
+ FName.contains_insensitive("SetValue") ||
+ FName.contains_insensitive("WithData") ||
+ FName.contains_insensitive("AppendValue") ||
+ FName.contains_insensitive("SetAttribute");
}
return false;
diff --git a/llvm/include/llvm/ADT/StringExtras.h b/llvm/include/llvm/ADT/StringExtras.h
index abdf5337d68b2..0cc6d0868b2ce 100644
--- a/llvm/include/llvm/ADT/StringExtras.h
+++ b/llvm/include/llvm/ADT/StringExtras.h
@@ -354,11 +354,6 @@ inline std::string toString(const APSInt &I, unsigned Radix) {
return toString(I, Radix, I.isSigned());
}
-/// StrInStrNoCase - Portable version of strcasestr. Locates the first
-/// occurrence of string 's1' in string 's2', ignoring case. Returns
-/// the offset of s2 in s1 or npos if s2 cannot be found.
-LLVM_ABI StringRef::size_type StrInStrNoCase(StringRef s1, StringRef s2);
-
/// getToken - This function extracts one token from source, ignoring any
/// leading characters that appear in the Delimiters string, and ending the
/// token at any of the characters that appear in the Delimiters string. If
diff --git a/llvm/lib/Support/StringExtras.cpp b/llvm/lib/Support/StringExtras.cpp
index 5058c08aff64a..bb2fa49bcbbc9 100644
--- a/llvm/lib/Support/StringExtras.cpp
+++ b/llvm/lib/Support/StringExtras.cpp
@@ -17,19 +17,6 @@
using namespace llvm;
-/// StrInStrNoCase - Portable version of strcasestr. Locates the first
-/// occurrence of string 's1' in string 's2', ignoring case. Returns
-/// the offset of s2 in s1 or npos if s2 cannot be found.
-StringRef::size_type llvm::StrInStrNoCase(StringRef s1, StringRef s2) {
- size_t N = s2.size(), M = s1.size();
- if (N > M)
- return StringRef::npos;
- for (size_t i = 0, e = M - N + 1; i != e; ++i)
- if (s1.substr(i, N).equals_insensitive(s2))
- return i;
- return StringRef::npos;
-}
-
/// getToken - This function extracts one token from source, ignoring any
/// leading characters that appear in the Delimiters string, and ending the
/// token at any of the characters that appear in the Delimiters string. If
More information about the llvm-commits
mailing list