https://github.com/kazutakahirata created https://github.com/llvm/llvm-project/pull/136469
None >From 020358d3a5bc5b9015c25073d3c4a256b83ebbfc Mon Sep 17 00:00:00 2001 From: Kazu Hirata <k...@google.com> Date: Sat, 19 Apr 2025 16:00:09 -0700 Subject: [PATCH] [clang] Use llvm::unique (NFC) --- clang/lib/AST/ASTContext.cpp | 2 +- clang/lib/AST/ItaniumMangle.cpp | 5 ++--- clang/lib/Driver/ToolChain.cpp | 2 +- clang/lib/Driver/XRayArgs.cpp | 2 +- clang/lib/Format/Format.cpp | 18 +++++++++--------- clang/lib/Sema/SemaDeclAttr.cpp | 4 ++-- clang/lib/Sema/SemaStmt.cpp | 6 ++---- clang/lib/Serialization/ASTWriter.cpp | 3 +-- clang/utils/TableGen/NeonEmitter.cpp | 3 +-- clang/utils/TableGen/SveEmitter.cpp | 3 +-- 10 files changed, 21 insertions(+), 27 deletions(-) diff --git a/clang/lib/AST/ASTContext.cpp b/clang/lib/AST/ASTContext.cpp index 860e6ec0fb47e..2836d68b05ff6 100644 --- a/clang/lib/AST/ASTContext.cpp +++ b/clang/lib/AST/ASTContext.cpp @@ -5975,7 +5975,7 @@ SortAndUniqueProtocols(SmallVectorImpl<ObjCProtocolDecl *> &Protocols) { P = P->getCanonicalDecl(); // Remove duplicates. - auto ProtocolsEnd = std::unique(Protocols.begin(), Protocols.end()); + auto ProtocolsEnd = llvm::unique(Protocols); Protocols.erase(ProtocolsEnd, Protocols.end()); } diff --git a/clang/lib/AST/ItaniumMangle.cpp b/clang/lib/AST/ItaniumMangle.cpp index 97ef1c0d46960..33a8728728574 100644 --- a/clang/lib/AST/ItaniumMangle.cpp +++ b/clang/lib/AST/ItaniumMangle.cpp @@ -328,7 +328,7 @@ class CXXNameMangler { } llvm::sort(TagList); - TagList.erase(std::unique(TagList.begin(), TagList.end()), TagList.end()); + TagList.erase(llvm::unique(TagList), TagList.end()); writeSortedUniqueAbiTags(Out, TagList); } @@ -344,8 +344,7 @@ class CXXNameMangler { const AbiTagList &getSortedUniqueUsedAbiTags() { llvm::sort(UsedAbiTags); - UsedAbiTags.erase(std::unique(UsedAbiTags.begin(), UsedAbiTags.end()), - UsedAbiTags.end()); + UsedAbiTags.erase(llvm::unique(UsedAbiTags), UsedAbiTags.end()); return UsedAbiTags; } diff --git a/clang/lib/Driver/ToolChain.cpp b/clang/lib/Driver/ToolChain.cpp index 97317579c8a50..5cd5755e01587 100644 --- a/clang/lib/Driver/ToolChain.cpp +++ b/clang/lib/Driver/ToolChain.cpp @@ -378,7 +378,7 @@ ToolChain::getMultilibFlags(const llvm::opt::ArgList &Args) const { // Sort and remove duplicates. std::sort(Result.begin(), Result.end()); - Result.erase(std::unique(Result.begin(), Result.end()), Result.end()); + Result.erase(llvm::unique(Result), Result.end()); return Result; } diff --git a/clang/lib/Driver/XRayArgs.cpp b/clang/lib/Driver/XRayArgs.cpp index 6649ed14c3982..701dd2906dccb 100644 --- a/clang/lib/Driver/XRayArgs.cpp +++ b/clang/lib/Driver/XRayArgs.cpp @@ -174,7 +174,7 @@ XRayArgs::XRayArgs(const ToolChain &TC, const ArgList &Args) { // Then we want to sort and unique the modes we've collected. llvm::sort(Modes); - Modes.erase(std::unique(Modes.begin(), Modes.end()), Modes.end()); + Modes.erase(llvm::unique(Modes), Modes.end()); } void XRayArgs::addArgs(const ToolChain &TC, const ArgList &Args, diff --git a/clang/lib/Format/Format.cpp b/clang/lib/Format/Format.cpp index 0667813110454..5a1c3f556b331 100644 --- a/clang/lib/Format/Format.cpp +++ b/clang/lib/Format/Format.cpp @@ -3244,11 +3244,11 @@ static void sortCppIncludes(const FormatStyle &Style, } // Deduplicate #includes. - Indices.erase(std::unique(Indices.begin(), Indices.end(), - [&](unsigned LHSI, unsigned RHSI) { - return Includes[LHSI].Text.trim() == - Includes[RHSI].Text.trim(); - }), + Indices.erase(llvm::unique(Indices, + [&](unsigned LHSI, unsigned RHSI) { + return Includes[LHSI].Text.trim() == + Includes[RHSI].Text.trim(); + }), Indices.end()); int CurrentCategory = Includes.front().Category; @@ -3476,10 +3476,10 @@ static void sortJavaImports(const FormatStyle &Style, }); // Deduplicate imports. - Indices.erase(std::unique(Indices.begin(), Indices.end(), - [&](unsigned LHSI, unsigned RHSI) { - return Imports[LHSI].Text == Imports[RHSI].Text; - }), + Indices.erase(llvm::unique(Indices, + [&](unsigned LHSI, unsigned RHSI) { + return Imports[LHSI].Text == Imports[RHSI].Text; + }), Indices.end()); bool CurrentIsStatic = Imports[Indices.front()].IsStatic; diff --git a/clang/lib/Sema/SemaDeclAttr.cpp b/clang/lib/Sema/SemaDeclAttr.cpp index cb230774d56fc..0cadbff13bdbf 100644 --- a/clang/lib/Sema/SemaDeclAttr.cpp +++ b/clang/lib/Sema/SemaDeclAttr.cpp @@ -909,7 +909,7 @@ static void handleNoBuiltinAttr(Sema &S, Decl *D, const ParsedAttr &AL) { // Repeating the same attribute is fine. llvm::sort(Names); - Names.erase(std::unique(Names.begin(), Names.end()), Names.end()); + Names.erase(llvm::unique(Names), Names.end()); // Empty no_builtin must be on its own. if (HasWildcard && Names.size() > 1) @@ -6037,7 +6037,7 @@ static void handleAbiTagAttr(Sema &S, Decl *D, const ParsedAttr &AL) { // Store tags sorted and without duplicates. llvm::sort(Tags); - Tags.erase(std::unique(Tags.begin(), Tags.end()), Tags.end()); + Tags.erase(llvm::unique(Tags), Tags.end()); D->addAttr(::new (S.Context) AbiTagAttr(S.Context, AL, Tags.data(), Tags.size())); diff --git a/clang/lib/Sema/SemaStmt.cpp b/clang/lib/Sema/SemaStmt.cpp index 39c2e157591df..87a400e8a6291 100644 --- a/clang/lib/Sema/SemaStmt.cpp +++ b/clang/lib/Sema/SemaStmt.cpp @@ -1623,8 +1623,7 @@ Sema::ActOnFinishSwitchStmt(SourceLocation SwitchLoc, Stmt *Switch, EnumVals.push_back(std::make_pair(Val, EDI)); } llvm::stable_sort(EnumVals, CmpEnumVals); - auto EI = EnumVals.begin(), EIEnd = - std::unique(EnumVals.begin(), EnumVals.end(), EqEnumVals); + auto EI = EnumVals.begin(), EIEnd = llvm::unique(EnumVals, EqEnumVals); // See which case values aren't in enum. for (CaseValsTy::const_iterator CI = CaseVals.begin(); @@ -1777,8 +1776,7 @@ Sema::DiagnoseAssignmentEnum(QualType DstType, QualType SrcType, if (EnumVals.empty()) return; llvm::stable_sort(EnumVals, CmpEnumVals); - EnumValsTy::iterator EIend = - std::unique(EnumVals.begin(), EnumVals.end(), EqEnumVals); + EnumValsTy::iterator EIend = llvm::unique(EnumVals, EqEnumVals); // See which values aren't in the enum. EnumValsTy::const_iterator EI = EnumVals.begin(); diff --git a/clang/lib/Serialization/ASTWriter.cpp b/clang/lib/Serialization/ASTWriter.cpp index 04e73b17af3bc..bea8fd5055358 100644 --- a/clang/lib/Serialization/ASTWriter.cpp +++ b/clang/lib/Serialization/ASTWriter.cpp @@ -6094,8 +6094,7 @@ ASTFileSignature ASTWriter::WriteASTCore(Sema *SemaPtr, StringRef isysroot, // Sort and deduplicate module IDs. llvm::sort(Imports, Cmp); - Imports.erase(std::unique(Imports.begin(), Imports.end(), Eq), - Imports.end()); + Imports.erase(llvm::unique(Imports, Eq), Imports.end()); RecordData ImportedModules; for (const auto &Import : Imports) { diff --git a/clang/utils/TableGen/NeonEmitter.cpp b/clang/utils/TableGen/NeonEmitter.cpp index 51bfe212464cf..c8cd214417efe 100644 --- a/clang/utils/TableGen/NeonEmitter.cpp +++ b/clang/utils/TableGen/NeonEmitter.cpp @@ -2052,8 +2052,7 @@ void NeonEmitter::createIntrinsic(const Record *R, } sort(NewTypeSpecs); - NewTypeSpecs.erase(std::unique(NewTypeSpecs.begin(), NewTypeSpecs.end()), - NewTypeSpecs.end()); + NewTypeSpecs.erase(llvm::unique(NewTypeSpecs), NewTypeSpecs.end()); auto &Entry = IntrinsicMap[Name]; for (auto &I : NewTypeSpecs) { diff --git a/clang/utils/TableGen/SveEmitter.cpp b/clang/utils/TableGen/SveEmitter.cpp index 200f57960fff8..c48210633516e 100644 --- a/clang/utils/TableGen/SveEmitter.cpp +++ b/clang/utils/TableGen/SveEmitter.cpp @@ -1231,8 +1231,7 @@ void SVEEmitter::createIntrinsic( // Remove duplicate type specs. sort(TypeSpecs); - TypeSpecs.erase(std::unique(TypeSpecs.begin(), TypeSpecs.end()), - TypeSpecs.end()); + TypeSpecs.erase(llvm::unique(TypeSpecs), TypeSpecs.end()); // Create an Intrinsic for each type spec. for (auto TS : TypeSpecs) { _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits