Index: include/clang/AST/DeclBase.h =================================================================== --- include/clang/AST/DeclBase.h +++ include/clang/AST/DeclBase.h @@ -386,6 +386,11 @@ if (StatisticsEnabled) add(DK); } + Decl(const Decl &) = delete; + Decl(Decl &&) = delete; + Decl &operator=(const Decl &) = delete; + Decl &operator=(Decl &&) = delete; + virtual ~Decl(); /// Update a potentially out-of-date declaration. Index: include/clang/AST/Stmt.h =================================================================== --- include/clang/AST/Stmt.h +++ include/clang/AST/Stmt.h @@ -1042,6 +1042,11 @@ return static_cast(StmtBits.sClass); } + Stmt(const Stmt &) = delete; + Stmt(Stmt &&) = delete; + Stmt &operator=(const Stmt &) = delete; + Stmt &operator=(Stmt &&) = delete; + const char *getStmtClassName() const; bool isOMPStructuredBlock() const { return StmtBits.IsOMPStructuredBlock; } Index: include/clang/AST/Type.h =================================================================== --- include/clang/AST/Type.h +++ include/clang/AST/Type.h @@ -1813,7 +1813,9 @@ friend class ASTWriter; Type(const Type &) = delete; + Type(Type &&) = delete; Type &operator=(const Type &) = delete; + Type &operator=(Type &&) = delete; TypeClass getTypeClass() const { return static_cast(TypeBits.TC); }