llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-backend-arm Author: Kazu Hirata (kazutakahirata) <details> <summary>Changes</summary> I'm planning to remove StringRef::equals in favor of StringRef::operator==. - StringRef::operator==/!= outnumber StringRef::equals by a factor of 24 under clang/ in terms of their usage. - The elimination of StringRef::equals brings StringRef closer to std::string_view, which has operator== but not equals. - S == "foo" is more readable than S.equals("foo"), especially for !Long.Expression.equals("str") vs Long.Expression != "str". --- Patch is 31.89 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/91844.diff 39 Files Affected: - (modified) clang/include/clang/Basic/IdentifierTable.h (+1-1) - (modified) clang/include/clang/Basic/SourceManager.h (+3-3) - (modified) clang/lib/ARCMigrate/ObjCMT.cpp (+1-1) - (modified) clang/lib/AST/PrintfFormatString.cpp (+4-4) - (modified) clang/lib/ASTMatchers/Dynamic/Marshallers.cpp (+2-2) - (modified) clang/lib/Basic/Builtins.cpp (+1-1) - (modified) clang/lib/Basic/Diagnostic.cpp (+1-2) - (modified) clang/lib/Basic/LangOptions.cpp (+1-1) - (modified) clang/lib/Basic/Targets/ARM.cpp (+2-3) - (modified) clang/lib/Basic/Targets/PPC.h (+1-1) - (modified) clang/lib/Basic/Targets/SystemZ.h (+1-1) - (modified) clang/lib/Basic/Targets/X86.h (+3-3) - (modified) clang/lib/CodeGen/CodeGenFunction.cpp (+3-4) - (modified) clang/lib/Format/ContinuationIndenter.cpp (+1-1) - (modified) clang/lib/Format/Format.cpp (+1-1) - (modified) clang/lib/Frontend/CompilerInvocation.cpp (+1-1) - (modified) clang/lib/Frontend/ModuleDependencyCollector.cpp (+1-1) - (modified) clang/lib/Lex/PPDirectives.cpp (+2-2) - (modified) clang/lib/Parse/ParseDecl.cpp (+1-1) - (modified) clang/lib/Parse/ParseDeclCXX.cpp (+2-2) - (modified) clang/lib/Parse/ParseHLSL.cpp (+1-1) - (modified) clang/lib/Parse/ParseOpenMP.cpp (+2-2) - (modified) clang/lib/Sema/SemaCodeComplete.cpp (+4-5) - (modified) clang/lib/Sema/SemaDecl.cpp (+4-4) - (modified) clang/lib/Sema/SemaDeclCXX.cpp (+2-2) - (modified) clang/lib/Sema/SemaStmtAsm.cpp (+1-1) - (modified) clang/lib/Sema/SemaTemplate.cpp (+2-2) - (modified) clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp (+3-4) - (modified) clang/lib/StaticAnalyzer/Checkers/LLVMConventionsChecker.cpp (+1-1) - (modified) clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp (+1-1) - (modified) clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp (+2-2) - (modified) clang/lib/StaticAnalyzer/Checkers/ObjCContainersASTChecker.cpp (+2-2) - (modified) clang/lib/StaticAnalyzer/Checkers/ObjCContainersChecker.cpp (+3-3) - (modified) clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp (+1-1) - (modified) clang/lib/StaticAnalyzer/Core/CheckerContext.cpp (+1-1) - (modified) clang/lib/Tooling/Tooling.cpp (+1-1) - (modified) clang/tools/diagtool/ShowEnabledWarnings.cpp (+2-2) - (modified) clang/tools/diagtool/TreeView.cpp (+1-1) - (modified) clang/unittests/CodeGen/IRMatchers.h (+1-1) ``````````diff diff --git a/clang/include/clang/Basic/IdentifierTable.h b/clang/include/clang/Basic/IdentifierTable.h index a893e6f4d3d39..ae9ebd9f59154 100644 --- a/clang/include/clang/Basic/IdentifierTable.h +++ b/clang/include/clang/Basic/IdentifierTable.h @@ -738,7 +738,7 @@ class IdentifierTable { II->Entry = &Entry; // If this is the 'import' contextual keyword, mark it as such. - if (Name.equals("import")) + if (Name == "import") II->setModulesImport(true); return *II; diff --git a/clang/include/clang/Basic/SourceManager.h b/clang/include/clang/Basic/SourceManager.h index d2ece14da0b11..5258bab584f49 100644 --- a/clang/include/clang/Basic/SourceManager.h +++ b/clang/include/clang/Basic/SourceManager.h @@ -1504,7 +1504,7 @@ class SourceManager : public RefCountedBase<SourceManager> { if (Presumed.isInvalid()) return false; StringRef Filename(Presumed.getFilename()); - return Filename.equals("<built-in>"); + return Filename == "<built-in>"; } /// Returns whether \p Loc is located in a <command line> file. @@ -1513,7 +1513,7 @@ class SourceManager : public RefCountedBase<SourceManager> { if (Presumed.isInvalid()) return false; StringRef Filename(Presumed.getFilename()); - return Filename.equals("<command line>"); + return Filename == "<command line>"; } /// Returns whether \p Loc is located in a <scratch space> file. @@ -1522,7 +1522,7 @@ class SourceManager : public RefCountedBase<SourceManager> { if (Presumed.isInvalid()) return false; StringRef Filename(Presumed.getFilename()); - return Filename.equals("<scratch space>"); + return Filename == "<scratch space>"; } /// Returns if a SourceLocation is in a system header. diff --git a/clang/lib/ARCMigrate/ObjCMT.cpp b/clang/lib/ARCMigrate/ObjCMT.cpp index b9dcfb8951b3e..aaf41dc4039cd 100644 --- a/clang/lib/ARCMigrate/ObjCMT.cpp +++ b/clang/lib/ARCMigrate/ObjCMT.cpp @@ -484,7 +484,7 @@ static void rewriteToObjCProperty(const ObjCMethodDecl *Getter, // Short circuit 'delegate' properties that contain the name "delegate" or // "dataSource", or have exact name "target" to have 'assign' attribute. - if (PropertyName.equals("target") || PropertyName.contains("delegate") || + if (PropertyName == "target" || PropertyName.contains("delegate") || PropertyName.contains("dataSource")) { QualType QT = Getter->getReturnType(); if (!QT->isRealType()) diff --git a/clang/lib/AST/PrintfFormatString.cpp b/clang/lib/AST/PrintfFormatString.cpp index fec8ce13e8c44..dd3b38fabb550 100644 --- a/clang/lib/AST/PrintfFormatString.cpp +++ b/clang/lib/AST/PrintfFormatString.cpp @@ -146,13 +146,13 @@ static PrintfSpecifierResult ParsePrintfSpecifier(FormatStringHandler &H, if (Warn && (Size == 0 || Size > 8)) H.handleInvalidMaskType(MaskType); FS.setMaskType(MaskType); - } else if (MatchedStr.equals("sensitive")) + } else if (MatchedStr == "sensitive") PrivacyFlags = clang::analyze_os_log::OSLogBufferItem::IsSensitive; else if (PrivacyFlags != - clang::analyze_os_log::OSLogBufferItem::IsSensitive && - MatchedStr.equals("private")) + clang::analyze_os_log::OSLogBufferItem::IsSensitive && + MatchedStr == "private") PrivacyFlags = clang::analyze_os_log::OSLogBufferItem::IsPrivate; - else if (PrivacyFlags == 0 && MatchedStr.equals("public")) + else if (PrivacyFlags == 0 && MatchedStr == "public") PrivacyFlags = clang::analyze_os_log::OSLogBufferItem::IsPublic; } else { size_t CommaOrBracePos = diff --git a/clang/lib/ASTMatchers/Dynamic/Marshallers.cpp b/clang/lib/ASTMatchers/Dynamic/Marshallers.cpp index cf9ae7c974a62..37c91abb5c839 100644 --- a/clang/lib/ASTMatchers/Dynamic/Marshallers.cpp +++ b/clang/lib/ASTMatchers/Dynamic/Marshallers.cpp @@ -21,7 +21,7 @@ getBestGuess(llvm::StringRef Search, llvm::ArrayRef<llvm::StringRef> Allowed, llvm::StringRef Res; for (const llvm::StringRef &Item : Allowed) { if (Item.equals_insensitive(Search)) { - assert(!Item.equals(Search) && "This should be handled earlier on."); + assert(Item != Search && "This should be handled earlier on."); MaxEditDistance = 1; Res = Item; continue; @@ -41,7 +41,7 @@ getBestGuess(llvm::StringRef Search, llvm::ArrayRef<llvm::StringRef> Allowed, if (!NoPrefix.consume_front(DropPrefix)) continue; if (NoPrefix.equals_insensitive(Search)) { - if (NoPrefix.equals(Search)) + if (NoPrefix == Search) return Item.str(); MaxEditDistance = 1; Res = Item; diff --git a/clang/lib/Basic/Builtins.cpp b/clang/lib/Basic/Builtins.cpp index 3467847ac1672..b116abbe034f7 100644 --- a/clang/lib/Basic/Builtins.cpp +++ b/clang/lib/Basic/Builtins.cpp @@ -64,7 +64,7 @@ bool Builtin::Context::isBuiltinFunc(llvm::StringRef FuncName) { bool InStdNamespace = FuncName.consume_front("std-"); for (unsigned i = Builtin::NotBuiltin + 1; i != Builtin::FirstTSBuiltin; ++i) { - if (FuncName.equals(BuiltinInfo[i].Name) && + if (FuncName == BuiltinInfo[i].Name && (bool)strchr(BuiltinInfo[i].Attributes, 'z') == InStdNamespace) return strchr(BuiltinInfo[i].Attributes, 'f') != nullptr; } diff --git a/clang/lib/Basic/Diagnostic.cpp b/clang/lib/Basic/Diagnostic.cpp index 0208ccc31bd7f..10136b4cd9435 100644 --- a/clang/lib/Basic/Diagnostic.cpp +++ b/clang/lib/Basic/Diagnostic.cpp @@ -851,8 +851,7 @@ FormatDiagnostic(const char *DiagStr, const char *DiagEnd, // When the diagnostic string is only "%0", the entire string is being given // by an outside source. Remove unprintable characters from this string // and skip all the other string processing. - if (DiagEnd - DiagStr == 2 && - StringRef(DiagStr, DiagEnd - DiagStr).equals("%0") && + if (DiagEnd - DiagStr == 2 && StringRef(DiagStr, DiagEnd - DiagStr) == "%0" && getArgKind(0) == DiagnosticsEngine::ak_std_string) { const std::string &S = getArgStdStr(0); EscapeStringForDiagnostic(S, OutStr); diff --git a/clang/lib/Basic/LangOptions.cpp b/clang/lib/Basic/LangOptions.cpp index a0adfbf61840e..2b906463931d3 100644 --- a/clang/lib/Basic/LangOptions.cpp +++ b/clang/lib/Basic/LangOptions.cpp @@ -48,7 +48,7 @@ void LangOptions::resetNonModularOptions() { bool LangOptions::isNoBuiltinFunc(StringRef FuncName) const { for (unsigned i = 0, e = NoBuiltinFuncs.size(); i != e; ++i) - if (FuncName.equals(NoBuiltinFuncs[i])) + if (FuncName == NoBuiltinFuncs[i]) return true; return false; } diff --git a/clang/lib/Basic/Targets/ARM.cpp b/clang/lib/Basic/Targets/ARM.cpp index 877799c66ec4f..7423626d7c3cb 100644 --- a/clang/lib/Basic/Targets/ARM.cpp +++ b/clang/lib/Basic/Targets/ARM.cpp @@ -173,8 +173,7 @@ bool ARMTargetInfo::supportsThumb() const { } bool ARMTargetInfo::supportsThumb2() const { - return CPUAttr.equals("6T2") || - (ArchVersion >= 7 && !CPUAttr.equals("8M_BASE")); + return CPUAttr == "6T2" || (ArchVersion >= 7 && CPUAttr != "8M_BASE"); } StringRef ARMTargetInfo::getCPUAttr() const { @@ -1162,7 +1161,7 @@ bool ARMTargetInfo::validateAsmConstraint( return true; case 'j': // An immediate integer between 0 and 65535 (valid for MOVW) // only available in ARMv6T2 and above - if (CPUAttr.equals("6T2") || ArchVersion >= 7) { + if (CPUAttr == "6T2" || ArchVersion >= 7) { Info.setRequiresImmediate(0, 65535); return true; } diff --git a/clang/lib/Basic/Targets/PPC.h b/clang/lib/Basic/Targets/PPC.h index 496b6131d09bb..fc23c30c68523 100644 --- a/clang/lib/Basic/Targets/PPC.h +++ b/clang/lib/Basic/Targets/PPC.h @@ -360,7 +360,7 @@ class LLVM_LIBRARY_VISIBILITY PPCTargetInfo : public TargetInfo { bool hasBitIntType() const override { return true; } bool isSPRegName(StringRef RegName) const override { - return RegName.equals("r1") || RegName.equals("x1"); + return RegName == "r1" || RegName == "x1"; } // We support __builtin_cpu_supports/__builtin_cpu_is on targets that diff --git a/clang/lib/Basic/Targets/SystemZ.h b/clang/lib/Basic/Targets/SystemZ.h index 73d3aa01a043f..3bc6f2c1d3083 100644 --- a/clang/lib/Basic/Targets/SystemZ.h +++ b/clang/lib/Basic/Targets/SystemZ.h @@ -84,7 +84,7 @@ class LLVM_LIBRARY_VISIBILITY SystemZTargetInfo : public TargetInfo { ArrayRef<TargetInfo::AddlRegName> getGCCAddlRegNames() const override; bool isSPRegName(StringRef RegName) const override { - return RegName.equals("r15"); + return RegName == "r15"; } bool validateAsmConstraint(const char *&Name, diff --git a/clang/lib/Basic/Targets/X86.h b/clang/lib/Basic/Targets/X86.h index c14e4d5f433d8..3ad5c248f4315 100644 --- a/clang/lib/Basic/Targets/X86.h +++ b/clang/lib/Basic/Targets/X86.h @@ -218,7 +218,7 @@ class LLVM_LIBRARY_VISIBILITY X86TargetInfo : public TargetInfo { ArrayRef<TargetInfo::AddlRegName> getGCCAddlRegNames() const override; bool isSPRegName(StringRef RegName) const override { - return RegName.equals("esp") || RegName.equals("rsp"); + return RegName == "esp" || RegName == "rsp"; } bool supportsCpuSupports() const override { return true; } @@ -246,7 +246,7 @@ class LLVM_LIBRARY_VISIBILITY X86TargetInfo : public TargetInfo { bool &HasSizeMismatch) const override { // esp and ebp are the only 32-bit registers the x86 backend can currently // handle. - if (RegName.equals("esp") || RegName.equals("ebp")) { + if (RegName == "esp" || RegName == "ebp") { // Check that the register size is 32-bit. HasSizeMismatch = RegSize != 32; return true; @@ -802,7 +802,7 @@ class LLVM_LIBRARY_VISIBILITY X86_64TargetInfo : public X86TargetInfo { bool &HasSizeMismatch) const override { // rsp and rbp are the only 64-bit registers the x86 backend can currently // handle. - if (RegName.equals("rsp") || RegName.equals("rbp")) { + if (RegName == "rsp" || RegName == "rbp") { // Check that the register size is 64-bit. HasSizeMismatch = RegSize != 64; return true; diff --git a/clang/lib/CodeGen/CodeGenFunction.cpp b/clang/lib/CodeGen/CodeGenFunction.cpp index 477814140a9e2..9f16fcb438557 100644 --- a/clang/lib/CodeGen/CodeGenFunction.cpp +++ b/clang/lib/CodeGen/CodeGenFunction.cpp @@ -2765,10 +2765,9 @@ llvm::Value *CodeGenFunction::FormAArch64ResolverCondition( // only for features that are not enabled in the target. The exception is // for features whose extension instructions are executed as NOP on targets // without extension support. - if (!getContext().getTargetInfo().hasFeature(Feature) || - Feature.equals("bti") || Feature.equals("memtag") || - Feature.equals("memtag2") || Feature.equals("memtag3") || - Feature.equals("dgh")) + if (!getContext().getTargetInfo().hasFeature(Feature) || Feature == "bti" || + Feature == "memtag" || Feature == "memtag2" || Feature == "memtag3" || + Feature == "dgh") CondFeatures.push_back(Feature); } if (!CondFeatures.empty()) { diff --git a/clang/lib/Format/ContinuationIndenter.cpp b/clang/lib/Format/ContinuationIndenter.cpp index ad0e2c3c620c3..6b9fbfe0ebf53 100644 --- a/clang/lib/Format/ContinuationIndenter.cpp +++ b/clang/lib/Format/ContinuationIndenter.cpp @@ -1422,7 +1422,7 @@ unsigned ContinuationIndenter::getNewLineColumn(const LineState &State) { // the next line. if (State.Line->InPragmaDirective) { FormatToken *PragmaType = State.Line->First->Next->Next; - if (PragmaType && PragmaType->TokenText.equals("omp")) + if (PragmaType && PragmaType->TokenText == "omp") return CurrentState.Indent + Style.ContinuationIndentWidth; } diff --git a/clang/lib/Format/Format.cpp b/clang/lib/Format/Format.cpp index c5c79dd0f883e..52005a6c881f3 100644 --- a/clang/lib/Format/Format.cpp +++ b/clang/lib/Format/Format.cpp @@ -3770,7 +3770,7 @@ reformat(const FormatStyle &Style, StringRef Code, tooling::Replacements NonNoOpFixes; for (const tooling::Replacement &Fix : Fixes) { StringRef OriginalCode = Code.substr(Fix.getOffset(), Fix.getLength()); - if (!OriginalCode.equals(Fix.getReplacementText())) { + if (OriginalCode != Fix.getReplacementText()) { auto Err = NonNoOpFixes.add(Fix); if (Err) { llvm::errs() << "Error adding replacements : " diff --git a/clang/lib/Frontend/CompilerInvocation.cpp b/clang/lib/Frontend/CompilerInvocation.cpp index dbb5f5662ebf1..14ee02c4cd582 100644 --- a/clang/lib/Frontend/CompilerInvocation.cpp +++ b/clang/lib/Frontend/CompilerInvocation.cpp @@ -1969,7 +1969,7 @@ bool CompilerInvocation::ParseCodeGenArgs(CodeGenOptions &Opts, ArgList &Args, Diags.Report(diag::err_drv_invalid_value) << A->getAsString(Args) << A->getValue(); else if (Val == llvm::FunctionReturnThunksKind::Extern && - Args.getLastArgValue(OPT_mcmodel_EQ).equals("large")) + Args.getLastArgValue(OPT_mcmodel_EQ) == "large") Diags.Report(diag::err_drv_argument_not_allowed_with) << A->getAsString(Args) << Args.getLastArg(OPT_mcmodel_EQ)->getAsString(Args); diff --git a/clang/lib/Frontend/ModuleDependencyCollector.cpp b/clang/lib/Frontend/ModuleDependencyCollector.cpp index b88cb60ebdd2a..e2883f1e027e4 100644 --- a/clang/lib/Frontend/ModuleDependencyCollector.cpp +++ b/clang/lib/Frontend/ModuleDependencyCollector.cpp @@ -105,7 +105,7 @@ static bool isCaseSensitivePath(StringRef Path) { // already expects when sensitivity isn't setup. for (auto &C : Path) UpperDest.push_back(toUppercase(C)); - if (!llvm::sys::fs::real_path(UpperDest, RealDest) && Path.equals(RealDest)) + if (!llvm::sys::fs::real_path(UpperDest, RealDest) && Path == RealDest) return false; return true; } diff --git a/clang/lib/Lex/PPDirectives.cpp b/clang/lib/Lex/PPDirectives.cpp index 82eb47bcd5bf9..8e7386449dced 100644 --- a/clang/lib/Lex/PPDirectives.cpp +++ b/clang/lib/Lex/PPDirectives.cpp @@ -183,7 +183,7 @@ static MacroDiag shouldWarnOnMacroDef(Preprocessor &PP, IdentifierInfo *II) { return isFeatureTestMacro(Text) ? MD_NoWarn : MD_ReservedMacro; if (II->isKeyword(Lang)) return MD_KeywordDef; - if (Lang.CPlusPlus11 && (Text.equals("override") || Text.equals("final"))) + if (Lang.CPlusPlus11 && (Text == "override" || Text == "final")) return MD_KeywordDef; return MD_NoWarn; } @@ -2807,7 +2807,7 @@ static bool isConfigurationPattern(Token &MacroName, MacroInfo *MI, if (TrimmedValue.ends_with("__")) TrimmedValue = TrimmedValue.drop_back(2); } - return TrimmedValue.equals(MacroText); + return TrimmedValue == MacroText; } else { return false; } diff --git a/clang/lib/Parse/ParseDecl.cpp b/clang/lib/Parse/ParseDecl.cpp index 5b5fc02ad4023..7fbaee5690bdf 100644 --- a/clang/lib/Parse/ParseDecl.cpp +++ b/clang/lib/Parse/ParseDecl.cpp @@ -3889,7 +3889,7 @@ void Parser::ParseDeclarationSpecifiers( // parse errors if this really is a __declspec attribute. Attempt to // recognize that scenario and recover gracefully. if (!getLangOpts().DeclSpecKeyword && Tok.is(tok::identifier) && - Tok.getIdentifierInfo()->getName().equals("__declspec")) { + Tok.getIdentifierInfo()->getName() == "__declspec") { Diag(Loc, diag::err_ms_attributes_not_enabled); // The next token should be an open paren. If it is, eat the entire diff --git a/clang/lib/Parse/ParseDeclCXX.cpp b/clang/lib/Parse/ParseDeclCXX.cpp index 96c9708c3711b..65ddebca49bc6 100644 --- a/clang/lib/Parse/ParseDeclCXX.cpp +++ b/clang/lib/Parse/ParseDeclCXX.cpp @@ -4548,9 +4548,9 @@ static bool IsBuiltInOrStandardCXX11Attribute(IdentifierInfo *AttrName, case ParsedAttr::AT_Unlikely: return true; case ParsedAttr::AT_WarnUnusedResult: - return !ScopeName && AttrName->getName().equals("nodiscard"); + return !ScopeName && AttrName->getName() == "nodiscard"; case ParsedAttr::AT_Unused: - return !ScopeName && AttrName->getName().equals("maybe_unused"); + return !ScopeName && AttrName->getName() == "maybe_unused"; default: return false; } diff --git a/clang/lib/Parse/ParseHLSL.cpp b/clang/lib/Parse/ParseHLSL.cpp index e9c8d6dca7bf5..4b72afe9986e5 100644 --- a/clang/lib/Parse/ParseHLSL.cpp +++ b/clang/lib/Parse/ParseHLSL.cpp @@ -174,7 +174,7 @@ void Parser::ParseHLSLAnnotations(ParsedAttributes &Attrs, ArgExprs.push_back(ParseIdentifierLoc()); // Add numeric_constant for fix-it. - if (SpaceStr.equals("space") && Tok.is(tok::numeric_constant)) + if (SpaceStr == "space" && Tok.is(tok::numeric_constant)) fixSeparateAttrArgAndNumber(SpaceStr, SpaceLoc, Tok, ArgExprs, *this, Actions.Context, PP); } diff --git a/clang/lib/Parse/ParseOpenMP.cpp b/clang/lib/Parse/ParseOpenMP.cpp index 18ba1185ee8de..53eabe0c662e5 100644 --- a/clang/lib/Parse/ParseOpenMP.cpp +++ b/clang/lib/Parse/ParseOpenMP.cpp @@ -740,7 +740,7 @@ static bool parseDeclareSimdClauses( BS = Out; BSRange = SourceRange(Tok.getLocation(), Tok.getEndLoc()); P.ConsumeToken(); - } else if (ClauseName.equals("simdlen")) { + } else if (ClauseName == "simdlen") { if (SimdLen.isUsable()) { P.Diag(Tok, diag::err_omp_more_one_clause) << getOpenMPDirectiveName(OMPD_declare_simd) << ClauseName << 0; @@ -1106,7 +1106,7 @@ static ExprResult parseContextScore(Parser &P) { llvm::SmallString<16> Buffer; StringRef SelectorName = P.getPreprocessor().getSpelling(P.getCurToken(), Buffer); - if (!SelectorName.equals("score")) + if (SelectorName != "score") return ScoreExpr; (void)P.ConsumeToken(); SourceLocation RLoc; diff --git a/clang/lib/Sema/SemaCodeComplete.cpp b/clang/lib/Sema/SemaCodeComplete.cpp index 3f0ab10646fe5..87aa0cacc2496 100644 --- a/clang/lib/Sema/SemaCodeComplete.cpp +++ b/clang/lib/Sema/SemaCodeComplete.cpp @@ -4049,18 +4049,17 @@ unsigned clang::getMacroUsagePriority(StringRef MacroName, unsigned Priority = CCP_Macro; // Treat the "nil", "Nil" and "NULL" macros as null pointer constants. - if (MacroName.equals("nil") || MacroName.equals("NULL") || - MacroName.equals("Nil")) { + if (MacroName == "nil" || MacroName == "NULL" || MacroName == "Nil") { Priority = CCP_Constant; if (PreferredTypeIsPointer) Priority = Priority / CCF_SimilarTypeMatch; } // Treat "YES", "NO", "true", and "false" as constants. - else if (MacroName.equals("YES") || MacroName.equals("NO") || - MacroName.equals("true") || MacroName.equals("false")) + else if (MacroName == "YES" || MacroName == "NO" || MacroName == "true" || + MacroName == "false") Priority = CCP_Constant; // Treat "bool" as a type. - else if (MacroName.equals("bool")) + else if (MacroName == "bool") Priority = CCP_Type + (LangOpts.ObjC ? CCD_bool_in_ObjC : 0); return Priority; diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp index 590f37837eb2d..fb913034bd836 100644 --- a/clang/lib/Sema/SemaDecl.cpp +++ b/clang/lib/Sema/SemaDecl.cpp @@ -735,8 +735,8 @@ void Sema::DiagnoseUnknownTypeName(IdentifierInfo *&II, << II, CanRecover); } else if (DeclContext *DC = computeDeclContext(*SS, false)) { std::string CorrectedStr(Corrected.getAsString(getLangOpts())); - bool DroppedSpecifier = Corrected.WillReplaceSpecifier() && - II->getName().equals(CorrectedStr); + bool DroppedSpecifier = + Corrected.WillReplaceSpecifier() && II->getName() == CorrectedStr; diagnoseTypo(Corrected, PDiag(IsTemplateName ? diag::err_no_member_template_suggest @@ -1007,7 +1007,7 @@ Sema::NameClassification Sema::ClassifyName(Scope *S, CXXScopeSpec &SS, } else {// FIXME: is this even reachable? Test it. std::string CorrectedStr(Corrected.getAsString(getLangOpts())); bool DroppedSpecifier = Corrected.WillReplaceSpecifier() && - Name->getName().equals(CorrectedStr); + Na... [truncated] `````````` </details> https://github.com/llvm/llvm-project/pull/91844 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits