[llvm] [llvm] Use "= delete" to delete constructors (NFC) (PR #144938)
Kazu Hirata via llvm-commits
llvm-commits at lists.llvm.org
Thu Jun 19 11:08:37 PDT 2025
https://github.com/kazutakahirata created https://github.com/llvm/llvm-project/pull/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.
>From 1a260f560b818a9ea16d65254f06a2035cb7070a Mon Sep 17 00:00:00 2001
From: Kazu Hirata <kazu at google.com>
Date: Wed, 18 Jun 2025 10:53:00 -0700
Subject: [PATCH] [llvm] Use "= delete" to delete constructors (NFC)
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.
---
llvm/unittests/ADT/TestGraph.h | 10 +++++-----
llvm/unittests/Support/Casting.cpp | 4 +---
2 files changed, 6 insertions(+), 8 deletions(-)
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