-
Notifications
You must be signed in to change notification settings - Fork 13.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[clang] Use *Set::insert_range (NFC) #132507
[clang] Use *Set::insert_range (NFC) #132507
Conversation
DenseSet, SmallPtrSet, SmallSet, SetVector, and StringSet recently gained C++23-style insert_range. This patch replaces: Dest.insert(Src.begin(), Src.end()); with: Dest.insert_range(Src); This patch does not touch custom begin like succ_begin for now.
@llvm/pr-subscribers-clang-modules @llvm/pr-subscribers-clang-static-analyzer-1 Author: Kazu Hirata (kazutakahirata) ChangesDenseSet, SmallPtrSet, SmallSet, SetVector, and StringSet recently Dest.insert(Src.begin(), Src.end()); with: Dest.insert_range(Src); This patch does not touch custom begin like succ_begin for now. Full diff: https://github.com/llvm/llvm-project/pull/132507.diff 13 Files Affected:
diff --git a/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h b/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h
index 967b25e5696f6..3754e25501635 100644
--- a/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h
+++ b/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h
@@ -485,7 +485,7 @@ class ExplodedNodeSet {
if (empty())
Impl = S.Impl;
else
- Impl.insert(S.begin(), S.end());
+ Impl.insert_range(S);
}
iterator begin() { return Impl.begin(); }
diff --git a/clang/lib/AST/RecordLayoutBuilder.cpp b/clang/lib/AST/RecordLayoutBuilder.cpp
index b8600e6a344a4..3e756ab9b9bfe 100644
--- a/clang/lib/AST/RecordLayoutBuilder.cpp
+++ b/clang/lib/AST/RecordLayoutBuilder.cpp
@@ -3304,7 +3304,7 @@ void MicrosoftRecordLayoutBuilder::computeVtorDispSet(
if (MethodRange.begin() == MethodRange.end())
BasesWithOverriddenMethods.insert(MD->getParent());
else
- Work.insert(MethodRange.begin(), MethodRange.end());
+ Work.insert_range(MethodRange);
// We've finished processing this element, remove it from the working set.
Work.erase(MD);
}
diff --git a/clang/lib/Analysis/UnsafeBufferUsage.cpp b/clang/lib/Analysis/UnsafeBufferUsage.cpp
index 636cb1f031f0d..776cbf6196b60 100644
--- a/clang/lib/Analysis/UnsafeBufferUsage.cpp
+++ b/clang/lib/Analysis/UnsafeBufferUsage.cpp
@@ -4298,7 +4298,7 @@ static void applyGadgets(const Decl *D, FixableGadgetList FixableGadgets,
HasParm = true;
}
if (HasParm)
- GrpsUnionForParms.insert(VarGroup.begin(), VarGroup.end());
+ GrpsUnionForParms.insert_range(VarGroup);
}
}
diff --git a/clang/lib/Driver/Multilib.cpp b/clang/lib/Driver/Multilib.cpp
index efb99d3ffc752..a92ad4718fb6e 100644
--- a/clang/lib/Driver/Multilib.cpp
+++ b/clang/lib/Driver/Multilib.cpp
@@ -288,7 +288,7 @@ MultilibSet::expandFlags(const Multilib::flags_list &InFlags) const {
assert(Regex.isValid());
if (llvm::any_of(InFlags,
[&Regex](StringRef F) { return Regex.match(F); })) {
- Result.insert(M.Flags.begin(), M.Flags.end());
+ Result.insert_range(M.Flags);
}
}
return Result;
diff --git a/clang/lib/Sema/SemaAttr.cpp b/clang/lib/Sema/SemaAttr.cpp
index 3c2b63a70345b..6c0c0eb29369e 100644
--- a/clang/lib/Sema/SemaAttr.cpp
+++ b/clang/lib/Sema/SemaAttr.cpp
@@ -1267,7 +1267,7 @@ void Sema::ActOnPragmaMSFunction(
return;
}
- MSFunctionNoBuiltins.insert(NoBuiltins.begin(), NoBuiltins.end());
+ MSFunctionNoBuiltins.insert_range(NoBuiltins);
}
void Sema::AddRangeBasedOptnone(FunctionDecl *FD) {
diff --git a/clang/lib/Sema/SemaDeclCXX.cpp b/clang/lib/Sema/SemaDeclCXX.cpp
index 478e92f7ffa01..676d53a1f4b45 100644
--- a/clang/lib/Sema/SemaDeclCXX.cpp
+++ b/clang/lib/Sema/SemaDeclCXX.cpp
@@ -18920,7 +18920,7 @@ void DelegatingCycleHelper(CXXConstructorDecl* Ctor,
// We know that beyond here, we aren't chaining into a cycle.
if (!Target || !Target->isDelegatingConstructor() ||
Target->isInvalidDecl() || Valid.count(TCanonical)) {
- Valid.insert(Current.begin(), Current.end());
+ Valid.insert_range(Current);
Current.clear();
// We've hit a cycle.
} else if (TCanonical == Canonical || Invalid.count(TCanonical) ||
@@ -18947,7 +18947,7 @@ void DelegatingCycleHelper(CXXConstructorDecl* Ctor,
}
}
- Invalid.insert(Current.begin(), Current.end());
+ Invalid.insert_range(Current);
Current.clear();
} else {
DelegatingCycleHelper(Target, Valid, Invalid, Current, S);
diff --git a/clang/lib/Sema/SemaExpr.cpp b/clang/lib/Sema/SemaExpr.cpp
index bb86b087980aa..3af6d6c23438f 100644
--- a/clang/lib/Sema/SemaExpr.cpp
+++ b/clang/lib/Sema/SemaExpr.cpp
@@ -17944,8 +17944,7 @@ void Sema::PopExpressionEvaluationContext() {
// Otherwise, merge the contexts together.
} else {
Cleanup.mergeFrom(Rec.ParentCleanup);
- MaybeODRUseExprs.insert(Rec.SavedMaybeODRUseExprs.begin(),
- Rec.SavedMaybeODRUseExprs.end());
+ MaybeODRUseExprs.insert_range(Rec.SavedMaybeODRUseExprs);
}
// Pop the current expression evaluation context off the stack.
diff --git a/clang/lib/Serialization/ASTReaderInternals.h b/clang/lib/Serialization/ASTReaderInternals.h
index 4be2b2323ec40..353e0a53cad9b 100644
--- a/clang/lib/Serialization/ASTReaderInternals.h
+++ b/clang/lib/Serialization/ASTReaderInternals.h
@@ -69,7 +69,7 @@ class ASTDeclContextNameLookupTraitBase {
}
// Switch to tracking found IDs in the set.
- Found.insert(Data.begin(), Data.end());
+ Found.insert_range(Data);
}
if (Found.insert(ID).second)
@@ -191,7 +191,7 @@ class LazySpecializationInfoLookupTrait {
}
// Switch to tracking found IDs in the set.
- Found.insert(Data.begin(), Data.end());
+ Found.insert_range(Data);
}
if (Found.insert(Info).second)
diff --git a/clang/lib/Serialization/MultiOnDiskHashTable.h b/clang/lib/Serialization/MultiOnDiskHashTable.h
index 6464220f13aef..fa18a29a9a98e 100644
--- a/clang/lib/Serialization/MultiOnDiskHashTable.h
+++ b/clang/lib/Serialization/MultiOnDiskHashTable.h
@@ -127,7 +127,7 @@ template<typename Info> class MultiOnDiskHashTable {
void removeOverriddenTables() {
llvm::DenseSet<file_type> Files;
- Files.insert(PendingOverrides.begin(), PendingOverrides.end());
+ Files.insert_range(PendingOverrides);
// Explicitly capture Files to work around an MSVC 2015 rejects-valid bug.
auto ShouldRemove = [&Files](void *T) -> bool {
auto *ODT = llvm::cast<OnDiskTable *>(Table::getFromOpaqueValue(T));
diff --git a/clang/lib/StaticAnalyzer/Frontend/CheckerRegistry.cpp b/clang/lib/StaticAnalyzer/Frontend/CheckerRegistry.cpp
index 317df90a7781e..17af7bf0185d7 100644
--- a/clang/lib/StaticAnalyzer/Frontend/CheckerRegistry.cpp
+++ b/clang/lib/StaticAnalyzer/Frontend/CheckerRegistry.cpp
@@ -223,7 +223,7 @@ void CheckerRegistry::initializeRegistry(const CheckerManager &Mgr) {
continue;
}
- Tmp.insert(Deps.begin(), Deps.end());
+ Tmp.insert_range(Deps);
// Enable the checker.
Tmp.insert(&Checker);
diff --git a/clang/tools/libclang/Indexing.cpp b/clang/tools/libclang/Indexing.cpp
index b890921972a0a..e1441bce15f88 100644
--- a/clang/tools/libclang/Indexing.cpp
+++ b/clang/tools/libclang/Indexing.cpp
@@ -137,7 +137,7 @@ class ThreadSafeParsedRegions {
void addParsedRegions(ArrayRef<PPRegion> Regions) {
std::lock_guard<std::mutex> MG(Mutex);
- ParsedRegions.insert(Regions.begin(), Regions.end());
+ ParsedRegions.insert_range(Regions);
}
};
diff --git a/clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp b/clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp
index 8717d9753d161..9fb7bebdbe41e 100644
--- a/clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp
+++ b/clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp
@@ -493,8 +493,7 @@ struct FunctionCallLattice {
if (Other.CalledFunctions.empty())
return LatticeJoinEffect::Unchanged;
const size_t size_before = CalledFunctions.size();
- CalledFunctions.insert(Other.CalledFunctions.begin(),
- Other.CalledFunctions.end());
+ CalledFunctions.insert_range(Other.CalledFunctions);
return CalledFunctions.size() == size_before ? LatticeJoinEffect::Unchanged
: LatticeJoinEffect::Changed;
}
diff --git a/clang/utils/TableGen/NeonEmitter.cpp b/clang/utils/TableGen/NeonEmitter.cpp
index bc142526ac973..51eb02be58692 100644
--- a/clang/utils/TableGen/NeonEmitter.cpp
+++ b/clang/utils/TableGen/NeonEmitter.cpp
@@ -1661,7 +1661,7 @@ Intrinsic::DagEmitter::emitDagShuffle(const DagInit *DI) {
}
}
- Elts.insert(Revved.begin(), Revved.end());
+ Elts.insert_range(Revved);
}
};
|
@llvm/pr-subscribers-clang-analysis Author: Kazu Hirata (kazutakahirata) ChangesDenseSet, SmallPtrSet, SmallSet, SetVector, and StringSet recently Dest.insert(Src.begin(), Src.end()); with: Dest.insert_range(Src); This patch does not touch custom begin like succ_begin for now. Full diff: https://github.com/llvm/llvm-project/pull/132507.diff 13 Files Affected:
diff --git a/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h b/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h
index 967b25e5696f6..3754e25501635 100644
--- a/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h
+++ b/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h
@@ -485,7 +485,7 @@ class ExplodedNodeSet {
if (empty())
Impl = S.Impl;
else
- Impl.insert(S.begin(), S.end());
+ Impl.insert_range(S);
}
iterator begin() { return Impl.begin(); }
diff --git a/clang/lib/AST/RecordLayoutBuilder.cpp b/clang/lib/AST/RecordLayoutBuilder.cpp
index b8600e6a344a4..3e756ab9b9bfe 100644
--- a/clang/lib/AST/RecordLayoutBuilder.cpp
+++ b/clang/lib/AST/RecordLayoutBuilder.cpp
@@ -3304,7 +3304,7 @@ void MicrosoftRecordLayoutBuilder::computeVtorDispSet(
if (MethodRange.begin() == MethodRange.end())
BasesWithOverriddenMethods.insert(MD->getParent());
else
- Work.insert(MethodRange.begin(), MethodRange.end());
+ Work.insert_range(MethodRange);
// We've finished processing this element, remove it from the working set.
Work.erase(MD);
}
diff --git a/clang/lib/Analysis/UnsafeBufferUsage.cpp b/clang/lib/Analysis/UnsafeBufferUsage.cpp
index 636cb1f031f0d..776cbf6196b60 100644
--- a/clang/lib/Analysis/UnsafeBufferUsage.cpp
+++ b/clang/lib/Analysis/UnsafeBufferUsage.cpp
@@ -4298,7 +4298,7 @@ static void applyGadgets(const Decl *D, FixableGadgetList FixableGadgets,
HasParm = true;
}
if (HasParm)
- GrpsUnionForParms.insert(VarGroup.begin(), VarGroup.end());
+ GrpsUnionForParms.insert_range(VarGroup);
}
}
diff --git a/clang/lib/Driver/Multilib.cpp b/clang/lib/Driver/Multilib.cpp
index efb99d3ffc752..a92ad4718fb6e 100644
--- a/clang/lib/Driver/Multilib.cpp
+++ b/clang/lib/Driver/Multilib.cpp
@@ -288,7 +288,7 @@ MultilibSet::expandFlags(const Multilib::flags_list &InFlags) const {
assert(Regex.isValid());
if (llvm::any_of(InFlags,
[&Regex](StringRef F) { return Regex.match(F); })) {
- Result.insert(M.Flags.begin(), M.Flags.end());
+ Result.insert_range(M.Flags);
}
}
return Result;
diff --git a/clang/lib/Sema/SemaAttr.cpp b/clang/lib/Sema/SemaAttr.cpp
index 3c2b63a70345b..6c0c0eb29369e 100644
--- a/clang/lib/Sema/SemaAttr.cpp
+++ b/clang/lib/Sema/SemaAttr.cpp
@@ -1267,7 +1267,7 @@ void Sema::ActOnPragmaMSFunction(
return;
}
- MSFunctionNoBuiltins.insert(NoBuiltins.begin(), NoBuiltins.end());
+ MSFunctionNoBuiltins.insert_range(NoBuiltins);
}
void Sema::AddRangeBasedOptnone(FunctionDecl *FD) {
diff --git a/clang/lib/Sema/SemaDeclCXX.cpp b/clang/lib/Sema/SemaDeclCXX.cpp
index 478e92f7ffa01..676d53a1f4b45 100644
--- a/clang/lib/Sema/SemaDeclCXX.cpp
+++ b/clang/lib/Sema/SemaDeclCXX.cpp
@@ -18920,7 +18920,7 @@ void DelegatingCycleHelper(CXXConstructorDecl* Ctor,
// We know that beyond here, we aren't chaining into a cycle.
if (!Target || !Target->isDelegatingConstructor() ||
Target->isInvalidDecl() || Valid.count(TCanonical)) {
- Valid.insert(Current.begin(), Current.end());
+ Valid.insert_range(Current);
Current.clear();
// We've hit a cycle.
} else if (TCanonical == Canonical || Invalid.count(TCanonical) ||
@@ -18947,7 +18947,7 @@ void DelegatingCycleHelper(CXXConstructorDecl* Ctor,
}
}
- Invalid.insert(Current.begin(), Current.end());
+ Invalid.insert_range(Current);
Current.clear();
} else {
DelegatingCycleHelper(Target, Valid, Invalid, Current, S);
diff --git a/clang/lib/Sema/SemaExpr.cpp b/clang/lib/Sema/SemaExpr.cpp
index bb86b087980aa..3af6d6c23438f 100644
--- a/clang/lib/Sema/SemaExpr.cpp
+++ b/clang/lib/Sema/SemaExpr.cpp
@@ -17944,8 +17944,7 @@ void Sema::PopExpressionEvaluationContext() {
// Otherwise, merge the contexts together.
} else {
Cleanup.mergeFrom(Rec.ParentCleanup);
- MaybeODRUseExprs.insert(Rec.SavedMaybeODRUseExprs.begin(),
- Rec.SavedMaybeODRUseExprs.end());
+ MaybeODRUseExprs.insert_range(Rec.SavedMaybeODRUseExprs);
}
// Pop the current expression evaluation context off the stack.
diff --git a/clang/lib/Serialization/ASTReaderInternals.h b/clang/lib/Serialization/ASTReaderInternals.h
index 4be2b2323ec40..353e0a53cad9b 100644
--- a/clang/lib/Serialization/ASTReaderInternals.h
+++ b/clang/lib/Serialization/ASTReaderInternals.h
@@ -69,7 +69,7 @@ class ASTDeclContextNameLookupTraitBase {
}
// Switch to tracking found IDs in the set.
- Found.insert(Data.begin(), Data.end());
+ Found.insert_range(Data);
}
if (Found.insert(ID).second)
@@ -191,7 +191,7 @@ class LazySpecializationInfoLookupTrait {
}
// Switch to tracking found IDs in the set.
- Found.insert(Data.begin(), Data.end());
+ Found.insert_range(Data);
}
if (Found.insert(Info).second)
diff --git a/clang/lib/Serialization/MultiOnDiskHashTable.h b/clang/lib/Serialization/MultiOnDiskHashTable.h
index 6464220f13aef..fa18a29a9a98e 100644
--- a/clang/lib/Serialization/MultiOnDiskHashTable.h
+++ b/clang/lib/Serialization/MultiOnDiskHashTable.h
@@ -127,7 +127,7 @@ template<typename Info> class MultiOnDiskHashTable {
void removeOverriddenTables() {
llvm::DenseSet<file_type> Files;
- Files.insert(PendingOverrides.begin(), PendingOverrides.end());
+ Files.insert_range(PendingOverrides);
// Explicitly capture Files to work around an MSVC 2015 rejects-valid bug.
auto ShouldRemove = [&Files](void *T) -> bool {
auto *ODT = llvm::cast<OnDiskTable *>(Table::getFromOpaqueValue(T));
diff --git a/clang/lib/StaticAnalyzer/Frontend/CheckerRegistry.cpp b/clang/lib/StaticAnalyzer/Frontend/CheckerRegistry.cpp
index 317df90a7781e..17af7bf0185d7 100644
--- a/clang/lib/StaticAnalyzer/Frontend/CheckerRegistry.cpp
+++ b/clang/lib/StaticAnalyzer/Frontend/CheckerRegistry.cpp
@@ -223,7 +223,7 @@ void CheckerRegistry::initializeRegistry(const CheckerManager &Mgr) {
continue;
}
- Tmp.insert(Deps.begin(), Deps.end());
+ Tmp.insert_range(Deps);
// Enable the checker.
Tmp.insert(&Checker);
diff --git a/clang/tools/libclang/Indexing.cpp b/clang/tools/libclang/Indexing.cpp
index b890921972a0a..e1441bce15f88 100644
--- a/clang/tools/libclang/Indexing.cpp
+++ b/clang/tools/libclang/Indexing.cpp
@@ -137,7 +137,7 @@ class ThreadSafeParsedRegions {
void addParsedRegions(ArrayRef<PPRegion> Regions) {
std::lock_guard<std::mutex> MG(Mutex);
- ParsedRegions.insert(Regions.begin(), Regions.end());
+ ParsedRegions.insert_range(Regions);
}
};
diff --git a/clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp b/clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp
index 8717d9753d161..9fb7bebdbe41e 100644
--- a/clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp
+++ b/clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp
@@ -493,8 +493,7 @@ struct FunctionCallLattice {
if (Other.CalledFunctions.empty())
return LatticeJoinEffect::Unchanged;
const size_t size_before = CalledFunctions.size();
- CalledFunctions.insert(Other.CalledFunctions.begin(),
- Other.CalledFunctions.end());
+ CalledFunctions.insert_range(Other.CalledFunctions);
return CalledFunctions.size() == size_before ? LatticeJoinEffect::Unchanged
: LatticeJoinEffect::Changed;
}
diff --git a/clang/utils/TableGen/NeonEmitter.cpp b/clang/utils/TableGen/NeonEmitter.cpp
index bc142526ac973..51eb02be58692 100644
--- a/clang/utils/TableGen/NeonEmitter.cpp
+++ b/clang/utils/TableGen/NeonEmitter.cpp
@@ -1661,7 +1661,7 @@ Intrinsic::DagEmitter::emitDagShuffle(const DagInit *DI) {
}
}
- Elts.insert(Revved.begin(), Revved.end());
+ Elts.insert_range(Revved);
}
};
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM thanks
DenseSet, SmallPtrSet, SmallSet, SetVector, and StringSet recently
gained C++23-style insert_range. This patch replaces:
Dest.insert(Src.begin(), Src.end());
with:
Dest.insert_range(Src);
This patch does not touch custom begin like succ_begin for now.