Manna created this revision. Manna added a reviewer: tahonermann. Herald added a reviewer: NoQ. Herald added a project: All. Manna requested review of this revision. Herald added a project: clang.
This patch adds missing assignment operator to the class which has user-defined copy/move constructor. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D149718 Files: clang/include/clang/Analysis/BodyFarm.h clang/include/clang/Sema/ParsedAttr.h clang/include/clang/Sema/Sema.h clang/lib/Analysis/UnsafeBufferUsage.cpp clang/lib/Serialization/ASTWriterStmt.cpp Index: clang/lib/Serialization/ASTWriterStmt.cpp =================================================================== --- clang/lib/Serialization/ASTWriterStmt.cpp +++ clang/lib/Serialization/ASTWriterStmt.cpp @@ -42,6 +42,7 @@ Code(serialization::STMT_NULL_PTR), AbbrevToUse(0) {} ASTStmtWriter(const ASTStmtWriter&) = delete; + ASTStmtWriter &operator=(const ASTStmtWriter&) = delete; uint64_t Emit() { assert(Code != serialization::STMT_NULL_PTR && Index: clang/lib/Analysis/UnsafeBufferUsage.cpp =================================================================== --- clang/lib/Analysis/UnsafeBufferUsage.cpp +++ clang/lib/Analysis/UnsafeBufferUsage.cpp @@ -762,6 +762,7 @@ public: Strategy() = default; Strategy(const Strategy &) = delete; // Let's avoid copies. + Strategy &operator=(const Strategy &) = delete; Strategy(Strategy &&) = default; void set(const VarDecl *VD, Kind K) { Map[VD] = K; } Index: clang/include/clang/Sema/Sema.h =================================================================== --- clang/include/clang/Sema/Sema.h +++ clang/include/clang/Sema/Sema.h @@ -1783,6 +1783,7 @@ SemaDiagnosticBuilder(Kind K, SourceLocation Loc, unsigned DiagID, const FunctionDecl *Fn, Sema &S); SemaDiagnosticBuilder(SemaDiagnosticBuilder &&D); + SemaDiagnosticBuilder &operator=(SemaDiagnosticBuilder &&D); SemaDiagnosticBuilder(const SemaDiagnosticBuilder &) = default; ~SemaDiagnosticBuilder(); Index: clang/include/clang/Sema/ParsedAttr.h =================================================================== --- clang/include/clang/Sema/ParsedAttr.h +++ clang/include/clang/Sema/ParsedAttr.h @@ -696,6 +696,7 @@ AttributePool(AttributeFactory &factory) : Factory(factory) {} AttributePool(const AttributePool &) = delete; + AttributePool &operator=(const AttributePool &) = delete; ~AttributePool() { Factory.reclaimPool(*this); } @@ -912,6 +913,7 @@ public: ParsedAttributes(AttributeFactory &factory) : pool(factory) {} ParsedAttributes(const ParsedAttributes &) = delete; + ParsedAttributes &operator=(const ParsedAttributes &) = delete; AttributePool &getPool() const { return pool; } Index: clang/include/clang/Analysis/BodyFarm.h =================================================================== --- clang/include/clang/Analysis/BodyFarm.h +++ clang/include/clang/Analysis/BodyFarm.h @@ -40,6 +40,9 @@ /// Remove copy constructor to avoid accidental copying. BodyFarm(const BodyFarm &other) = delete; + /// Copy assignment opearator. + BodyFarm &operator=(const BodyFarm &other) = delete; + private: typedef llvm::DenseMap<const Decl *, std::optional<Stmt *>> BodyMap;
Index: clang/lib/Serialization/ASTWriterStmt.cpp =================================================================== --- clang/lib/Serialization/ASTWriterStmt.cpp +++ clang/lib/Serialization/ASTWriterStmt.cpp @@ -42,6 +42,7 @@ Code(serialization::STMT_NULL_PTR), AbbrevToUse(0) {} ASTStmtWriter(const ASTStmtWriter&) = delete; + ASTStmtWriter &operator=(const ASTStmtWriter&) = delete; uint64_t Emit() { assert(Code != serialization::STMT_NULL_PTR && Index: clang/lib/Analysis/UnsafeBufferUsage.cpp =================================================================== --- clang/lib/Analysis/UnsafeBufferUsage.cpp +++ clang/lib/Analysis/UnsafeBufferUsage.cpp @@ -762,6 +762,7 @@ public: Strategy() = default; Strategy(const Strategy &) = delete; // Let's avoid copies. + Strategy &operator=(const Strategy &) = delete; Strategy(Strategy &&) = default; void set(const VarDecl *VD, Kind K) { Map[VD] = K; } Index: clang/include/clang/Sema/Sema.h =================================================================== --- clang/include/clang/Sema/Sema.h +++ clang/include/clang/Sema/Sema.h @@ -1783,6 +1783,7 @@ SemaDiagnosticBuilder(Kind K, SourceLocation Loc, unsigned DiagID, const FunctionDecl *Fn, Sema &S); SemaDiagnosticBuilder(SemaDiagnosticBuilder &&D); + SemaDiagnosticBuilder &operator=(SemaDiagnosticBuilder &&D); SemaDiagnosticBuilder(const SemaDiagnosticBuilder &) = default; ~SemaDiagnosticBuilder(); Index: clang/include/clang/Sema/ParsedAttr.h =================================================================== --- clang/include/clang/Sema/ParsedAttr.h +++ clang/include/clang/Sema/ParsedAttr.h @@ -696,6 +696,7 @@ AttributePool(AttributeFactory &factory) : Factory(factory) {} AttributePool(const AttributePool &) = delete; + AttributePool &operator=(const AttributePool &) = delete; ~AttributePool() { Factory.reclaimPool(*this); } @@ -912,6 +913,7 @@ public: ParsedAttributes(AttributeFactory &factory) : pool(factory) {} ParsedAttributes(const ParsedAttributes &) = delete; + ParsedAttributes &operator=(const ParsedAttributes &) = delete; AttributePool &getPool() const { return pool; } Index: clang/include/clang/Analysis/BodyFarm.h =================================================================== --- clang/include/clang/Analysis/BodyFarm.h +++ clang/include/clang/Analysis/BodyFarm.h @@ -40,6 +40,9 @@ /// Remove copy constructor to avoid accidental copying. BodyFarm(const BodyFarm &other) = delete; + /// Copy assignment opearator. + BodyFarm &operator=(const BodyFarm &other) = delete; + private: typedef llvm::DenseMap<const Decl *, std::optional<Stmt *>> BodyMap;
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits