[PATCH] D62187: Delete default constructors, copy constructors, move constructors, copy assignment, move assignment operators on Expr, Stmt and Decl

Dmitri Gribenko via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed May 22 01:04:54 PDT 2019


gribozavr marked 4 inline comments as done.
gribozavr added inline comments.


================
Comment at: clang/include/clang/AST/DeclBase.h:374
+  Decl(const Decl&) = delete;
+  Decl(Decl &&) = delete;
+  Decl &operator=(const Decl&) = delete;
----------------
ilya-biryukov wrote:
> NIT: move constructors and assignments won't be generated if copy is deleted, so this is redundant.
> However, feel free to keep it if you want to be more explicit.
I feel like it is better to have the API explicitly spelled out.


================
Comment at: clang/include/clang/AST/Stmt.h:1057
 
+  Stmt() = delete;
   Stmt(const Stmt &) = delete;
----------------
ilya-biryukov wrote:
> NIT: Move the deleted declarations to the start of the class?
> Or move the deleted declarations in other classes to the first public section?
> 
> (For consistency)
I put these new declarations close to the "primary" constructor.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D62187/new/

https://reviews.llvm.org/D62187





More information about the cfe-commits mailing list