[clang] [clang] Use *Set::insert_range (NFC) (PR #132507)

via cfe-commits cfe-commits at lists.llvm.org
Fri Mar 21 20:50:10 PDT 2025


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-clang-analysis

Author: Kazu Hirata (kazutakahirata)

<details>
<summary>Changes</summary>

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.


---
Full diff: https://github.com/llvm/llvm-project/pull/132507.diff


13 Files Affected:

- (modified) clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h (+1-1) 
- (modified) clang/lib/AST/RecordLayoutBuilder.cpp (+1-1) 
- (modified) clang/lib/Analysis/UnsafeBufferUsage.cpp (+1-1) 
- (modified) clang/lib/Driver/Multilib.cpp (+1-1) 
- (modified) clang/lib/Sema/SemaAttr.cpp (+1-1) 
- (modified) clang/lib/Sema/SemaDeclCXX.cpp (+2-2) 
- (modified) clang/lib/Sema/SemaExpr.cpp (+1-2) 
- (modified) clang/lib/Serialization/ASTReaderInternals.h (+2-2) 
- (modified) clang/lib/Serialization/MultiOnDiskHashTable.h (+1-1) 
- (modified) clang/lib/StaticAnalyzer/Frontend/CheckerRegistry.cpp (+1-1) 
- (modified) clang/tools/libclang/Indexing.cpp (+1-1) 
- (modified) clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp (+1-2) 
- (modified) clang/utils/TableGen/NeonEmitter.cpp (+1-1) 


``````````diff
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);
     }
   };
 

``````````

</details>


https://github.com/llvm/llvm-project/pull/132507


More information about the cfe-commits mailing list