[llvm] [llvm] Use "= delete" to delete constructors (NFC) (PR #144938)
via llvm-commits
llvm-commits at lists.llvm.org
Thu Jun 19 11:09:07 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-llvm-support
Author: Kazu Hirata (kazutakahirata)
<details>
<summary>Changes</summary>
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.
---
Full diff: https://github.com/llvm/llvm-project/pull/144938.diff
2 Files Affected:
- (modified) llvm/unittests/ADT/TestGraph.h (+5-5)
- (modified) llvm/unittests/Support/Casting.cpp (+1-3)
``````````diff
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 &) {}
``````````
</details>
https://github.com/llvm/llvm-project/pull/144938
More information about the llvm-commits
mailing list