[clang] 7c445db - [NFC][Clang] Apply Rule of Three to classes in ASTUnit.h (#182198)

via cfe-commits cfe-commits at lists.llvm.org
Wed Feb 18 19:51:13 PST 2026


Author: Shafik Yaghmour
Date: 2026-02-18T19:51:10-08:00
New Revision: 7c445dbf7fa1024469e74c5b3ecd72ee632fba23

URL: https://github.com/llvm/llvm-project/commit/7c445dbf7fa1024469e74c5b3ecd72ee632fba23
DIFF: https://github.com/llvm/llvm-project/commit/7c445dbf7fa1024469e74c5b3ecd72ee632fba23.diff

LOG: [NFC][Clang] Apply Rule of Three to classes in ASTUnit.h (#182198)

Static analysis flagged that some classes in ASTUnit.h defined a
destructor but did not also define a copy constructor or copy
assignment. This is a bug and I am defining them as deleted to prevent
accidently copy or assigns.

Added: 
    

Modified: 
    clang/include/clang/Frontend/ASTUnit.h

Removed: 
    


################################################################################
diff  --git a/clang/include/clang/Frontend/ASTUnit.h b/clang/include/clang/Frontend/ASTUnit.h
index db6bd11dae1c1..7f307d1670dc6 100644
--- a/clang/include/clang/Frontend/ASTUnit.h
+++ b/clang/include/clang/Frontend/ASTUnit.h
@@ -399,6 +399,8 @@ class ASTUnit {
   public:
     ConcurrencyState();
     ~ConcurrencyState();
+    ConcurrencyState(const ConcurrencyState &) = delete;
+    ConcurrencyState &operator=(const ConcurrencyState &) = delete;
 
     void start();
     void finish();
@@ -950,6 +952,9 @@ class CaptureDroppedDiagnostics {
       SmallVectorImpl<StandaloneDiagnostic> *StandaloneDiags);
 
   ~CaptureDroppedDiagnostics();
+  CaptureDroppedDiagnostics(const CaptureDroppedDiagnostics &) = delete;
+  CaptureDroppedDiagnostics &
+  operator=(const CaptureDroppedDiagnostics &) = delete;
 };
 
 } // namespace clang


        


More information about the cfe-commits mailing list