[llvm] [NFC][Target] Fixed rule-of-three for RegisterTargetPassConfigCallback class (PR #193470)
Jaydeep Chauhan via llvm-commits
llvm-commits at lists.llvm.org
Thu Apr 23 02:00:28 PDT 2026
https://github.com/JaydeepChauhan14 updated https://github.com/llvm/llvm-project/pull/193470
>From c5f3c3e53b11ca72b3b54d0cc0123605b576accf Mon Sep 17 00:00:00 2001
From: Chauhan Jaydeep Ashwinbhai <chauhan.jaydeep.ashwinbhai at intel.com>
Date: Wed, 22 Apr 2026 04:18:23 -0700
Subject: [PATCH 1/2] [NFC][Target][MC] Fixed rule-of-three for
MCFragment/Archive/RegisterTargetPassConfigCallback classes
---
llvm/include/llvm/MC/MCSection.h | 1 +
llvm/include/llvm/Object/Archive.h | 1 +
llvm/include/llvm/Target/RegisterTargetPassConfigCallback.h | 4 ++++
3 files changed, 6 insertions(+)
diff --git a/llvm/include/llvm/MC/MCSection.h b/llvm/include/llvm/MC/MCSection.h
index 82bfa41c9215b..3fe44efc91de9 100644
--- a/llvm/include/llvm/MC/MCSection.h
+++ b/llvm/include/llvm/MC/MCSection.h
@@ -173,6 +173,7 @@ class MCFragment {
bool HasInstructions = false);
MCFragment(const MCFragment &) = delete;
MCFragment &operator=(const MCFragment &) = delete;
+ ~MCFragment() = default;
MCFragment *getNext() const { return Next; }
diff --git a/llvm/include/llvm/Object/Archive.h b/llvm/include/llvm/Object/Archive.h
index c97018d3231d5..8ac2eed9835a4 100644
--- a/llvm/include/llvm/Object/Archive.h
+++ b/llvm/include/llvm/Object/Archive.h
@@ -339,6 +339,7 @@ class LLVM_ABI Archive : public Binary {
// Explicitly non-copyable.
Archive(Archive const &) = delete;
Archive &operator=(Archive const &) = delete;
+ ~Archive() = default;
/// Size field is 10 decimal digits long
static const uint64_t MaxMemberSize = 9999999999;
diff --git a/llvm/include/llvm/Target/RegisterTargetPassConfigCallback.h b/llvm/include/llvm/Target/RegisterTargetPassConfigCallback.h
index 7020cef7cad7b..ef86c3238895a 100644
--- a/llvm/include/llvm/Target/RegisterTargetPassConfigCallback.h
+++ b/llvm/include/llvm/Target/RegisterTargetPassConfigCallback.h
@@ -28,6 +28,10 @@ class RegisterTargetPassConfigCallback {
LLVM_ABI explicit RegisterTargetPassConfigCallback(PassConfigCallback &&C);
LLVM_ABI ~RegisterTargetPassConfigCallback();
+ RegisterTargetPassConfigCallback(const RegisterTargetPassConfigCallback &) =
+ delete;
+ RegisterTargetPassConfigCallback &
+ operator=(const RegisterTargetPassConfigCallback &) = delete;
};
LLVM_ABI void
>From 0a1be8f6c4e82b83e9b2f7757d2a1c220c9c39e6 Mon Sep 17 00:00:00 2001
From: Chauhan Jaydeep Ashwinbhai <chauhan.jaydeep.ashwinbhai at intel.com>
Date: Wed, 22 Apr 2026 22:34:40 -0700
Subject: [PATCH 2/2] Removed redundant destructor
---
llvm/include/llvm/MC/MCSection.h | 1 -
llvm/include/llvm/Object/Archive.h | 1 -
2 files changed, 2 deletions(-)
diff --git a/llvm/include/llvm/MC/MCSection.h b/llvm/include/llvm/MC/MCSection.h
index 3fe44efc91de9..82bfa41c9215b 100644
--- a/llvm/include/llvm/MC/MCSection.h
+++ b/llvm/include/llvm/MC/MCSection.h
@@ -173,7 +173,6 @@ class MCFragment {
bool HasInstructions = false);
MCFragment(const MCFragment &) = delete;
MCFragment &operator=(const MCFragment &) = delete;
- ~MCFragment() = default;
MCFragment *getNext() const { return Next; }
diff --git a/llvm/include/llvm/Object/Archive.h b/llvm/include/llvm/Object/Archive.h
index 8ac2eed9835a4..c97018d3231d5 100644
--- a/llvm/include/llvm/Object/Archive.h
+++ b/llvm/include/llvm/Object/Archive.h
@@ -339,7 +339,6 @@ class LLVM_ABI Archive : public Binary {
// Explicitly non-copyable.
Archive(Archive const &) = delete;
Archive &operator=(Archive const &) = delete;
- ~Archive() = default;
/// Size field is 10 decimal digits long
static const uint64_t MaxMemberSize = 9999999999;
More information about the llvm-commits
mailing list