[llvm] 3b672e1 - [llvm] Use "= delete" to delete constructors (NFC) (#144938)

via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 19 13:17:42 PDT 2025


Author: Kazu Hirata
Date: 2025-06-19T13:17:39-07:00
New Revision: 3b672e1d7b7375ca2a048cfb252d0e8ff35724e2

URL: https://github.com/llvm/llvm-project/commit/3b672e1d7b7375ca2a048cfb252d0e8ff35724e2
DIFF: https://github.com/llvm/llvm-project/commit/3b672e1d7b7375ca2a048cfb252d0e8ff35724e2.diff

LOG: [llvm] Use "= delete" to delete constructors (NFC) (#144938)

None of the constructors touched in this patch has a corresponding
definition.  This patch explicitly deletes them with "= delete" while
moving them to the public section of respective classes.  Note that "=
delete" itself serves as documentation.

Identified with modernize-use-equals-delete.

Added: 
    

Modified: 
    llvm/unittests/ADT/TestGraph.h
    llvm/unittests/Support/Casting.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/unittests/ADT/TestGraph.h b/llvm/unittests/ADT/TestGraph.h
index 3e6d4e14d5c11..a59ab504f7144 100644
--- a/llvm/unittests/ADT/TestGraph.h
+++ b/llvm/unittests/ADT/TestGraph.h
@@ -24,14 +24,13 @@ namespace llvm {
 template <unsigned N>
 class Graph {
 private:
-  // Disable copying.
-  Graph(const Graph&);
-  Graph& operator=(const Graph&);
-
   static void ValidateIndex(unsigned Idx) {
     assert(Idx < N && "Invalid node index!");
   }
 public:
+  // Disable copying.
+  Graph(const Graph &) = delete;
+  Graph &operator=(const Graph &) = delete;
 
   /// NodeSubset - A subset of the graph's nodes.
   class NodeSubset {
@@ -169,11 +168,12 @@ class Graph {
     /// yet been visited.
     NodeSubset Children;
 
-    ChildIterator(); // Disable default constructor.
   protected:
     ChildIterator(NodeType *F, NodeSubset C) : FirstNode(F), Children(C) {}
 
   public:
+    ChildIterator() = delete; // Disable default constructor.
+
     /// ChildIterator - Copy constructor.
     ChildIterator(const ChildIterator &other) = default;
     ChildIterator &operator=(const ChildIterator &other) = default;

diff  --git a/llvm/unittests/Support/Casting.cpp b/llvm/unittests/Support/Casting.cpp
index a128cedaf3988..18327f6dd1675 100644
--- a/llvm/unittests/Support/Casting.cpp
+++ b/llvm/unittests/Support/Casting.cpp
@@ -24,13 +24,11 @@ template <typename T> IllegalCast *cast(...) { return nullptr; }
 //
 struct bar {
   bar() {}
+  bar(const bar &) = delete;
   struct foo *baz();
   struct foo *caz();
   struct foo *daz();
   struct foo *naz();
-
-private:
-  bar(const bar &);
 };
 struct foo {
   foo(const bar &) {}


        


More information about the llvm-commits mailing list