[clang] f2ec5e4 - [clang] Use llvm::unique (NFC) (#136469)
via cfe-commits
cfe-commits at lists.llvm.org
Sat Apr 19 20:33:57 PDT 2025
Author: Kazu Hirata
Date: 2025-04-19T20:33:53-07:00
New Revision: f2ec5e40d96d6ba8f99e419009b6547965905cfe
URL: https://github.com/llvm/llvm-project/commit/f2ec5e40d96d6ba8f99e419009b6547965905cfe
DIFF: https://github.com/llvm/llvm-project/commit/f2ec5e40d96d6ba8f99e419009b6547965905cfe.diff
LOG: [clang] Use llvm::unique (NFC) (#136469)
Added:
Modified:
clang/lib/AST/ASTContext.cpp
clang/lib/AST/ItaniumMangle.cpp
clang/lib/Driver/ToolChain.cpp
clang/lib/Driver/XRayArgs.cpp
clang/lib/Format/Format.cpp
clang/lib/Sema/SemaDeclAttr.cpp
clang/lib/Sema/SemaStmt.cpp
clang/lib/Serialization/ASTWriter.cpp
clang/utils/TableGen/NeonEmitter.cpp
clang/utils/TableGen/SveEmitter.cpp
Removed:
################################################################################
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) {
More information about the cfe-commits
mailing list