Author: smanna12
Date: 2024-09-20T12:08:05-05:00
New Revision: efb583178d74b2174e8b9660b67ba7295527b09f

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

LOG: [Clang] Prevent Copying of LateParsedClass Instances (#109428)

Class clang::Parser::LateParsedClass owns resources that are freed in
its destructor but has no user-written assignment operator.
This commit explicitly deletes the copy constructor and copy assignment
operator for the LateParsedClass.

Added: 
    

Modified: 
    clang/include/clang/Parse/Parser.h

Removed: 
    


################################################################################
diff  --git a/clang/include/clang/Parse/Parser.h 
b/clang/include/clang/Parse/Parser.h
index 47f72135c97cff..eb8a851da7e04e 100644
--- a/clang/include/clang/Parse/Parser.h
+++ b/clang/include/clang/Parse/Parser.h
@@ -1355,6 +1355,10 @@ class Parser : public CodeCompletionHandler {
     void ParseLexedAttributes() override;
     void ParseLexedPragmas() override;
 
+    // Delete copy constructor and copy assignment operator.
+    LateParsedClass(const LateParsedClass &) = delete;
+    LateParsedClass &operator=(const LateParsedClass &) = delete;
+
   private:
     Parser *Self;
     ParsingClass *Class;


        
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to