[PATCH] D35056: GCC ABI incompatibility when passing object with trivial copy ctor, trivial dtor, and non-trivial move ctor
Vassil Vassilev via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Aug 8 07:03:22 PDT 2017
v.g.vassilev added a comment.
I do not feel qualified enough to review this patch but I added few minor comments.
================
Comment at: include/clang/AST/DeclCXX.h:827
+ return data().DefaultedCopyConstructorIsDeleted;
+ }
+ /// \brief \c true if a defaulted move constructor for this class would be
----------------
Is there a reason for not keeping the default (for the file) 1 empty line between methods? Looks like if we add one new line before and after `hasSimpleMoveAssignment` is will be all consistent.
================
Comment at: lib/Sema/SemaDeclCXX.cpp:5731
+/// registers, per C++ [class.temporary]p3.
+static bool computeCanPassInRegisters(Sema &S, CXXRecordDecl *D) {
+ if (D->isDependentType() || D->isInvalidDecl())
----------------
It would be very useful if we somehow assert if this function is called before the class triviality is computed?
Repository:
rL LLVM
https://reviews.llvm.org/D35056
More information about the cfe-commits
mailing list