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 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
