[clang] [Clang][NFC] Explicitly delete copy ctor and assignment for CGAtomicOptionsRAII (PR #137275)

via cfe-commits cfe-commits at lists.llvm.org
Thu Apr 24 17:28:21 PDT 2025


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-clang-codegen

Author: Shafik Yaghmour (shafik)

<details>
<summary>Changes</summary>

Static analysis flagged CGAtomicOptionsRAII as having an explicit destructor but not having explicit copy ctor and assignment. Rule of three says we should. We are just using this as an RAII object, no need for either so they will be specified as deleted.

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


1 Files Affected:

- (modified) clang/lib/CodeGen/CodeGenFunction.h (+3) 


``````````diff
diff --git a/clang/lib/CodeGen/CodeGenFunction.h b/clang/lib/CodeGen/CodeGenFunction.h
index 4c5e8a8a44926..561f8f6a2a2fb 100644
--- a/clang/lib/CodeGen/CodeGenFunction.h
+++ b/clang/lib/CodeGen/CodeGenFunction.h
@@ -869,6 +869,9 @@ class CodeGenFunction : public CodeGenTypeCache {
       }
       CGM.setAtomicOpts(AO);
     }
+
+    CGAtomicOptionsRAII(const CGAtomicOptionsRAII &) = delete;
+    CGAtomicOptionsRAII &operator=(const CGAtomicOptionsRAII &) = delete;
     ~CGAtomicOptionsRAII() { CGM.setAtomicOpts(SavedAtomicOpts); }
 
   private:

``````````

</details>


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


More information about the cfe-commits mailing list