[PATCH] D45306: PR36992 don't overwrite virtual bases in tail padding

2018-04-05 Thread Richard Smith - zygoloid via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC329342: PR36992: do not store beyond the dsize of a class object unless we know (authored by rsmith, committed by ). Changed prior to commit: https://reviews.llvm.org/D45306?vs=141205&id=141217#toc Rep

[PATCH] D45306: PR36992 don't overwrite virtual bases in tail padding

2018-04-05 Thread John McCall via Phabricator via cfe-commits
rjmccall accepted this revision. rjmccall added a comment. This revision is now accepted and ready to land. Okay, LGTM. https://reviews.llvm.org/D45306 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/lis

[PATCH] D45306: PR36992 don't overwrite virtual bases in tail padding

2018-04-05 Thread Richard Smith - zygoloid via Phabricator via cfe-commits
rsmith added a comment. In https://reviews.llvm.org/D45306#1058792, @rjmccall wrote: > Changing the requirements on the return-value slot would be an ABI break, no? It would be, yes. But WG21 seems to have a taste for breaking changes at the moment, so who knows... I'm happy to remove `overlap

[PATCH] D45306: PR36992 don't overwrite virtual bases in tail padding

2018-04-05 Thread Richard Smith - zygoloid via Phabricator via cfe-commits
rsmith updated this revision to Diff 141205. rsmith marked 2 inline comments as done. https://reviews.llvm.org/D45306 Files: CodeGen/CGAtomic.cpp CodeGen/CGBlocks.cpp CodeGen/CGCall.cpp CodeGen/CGClass.cpp CodeGen/CGDecl.cpp CodeGen/CGDeclCXX.cpp CodeGen/CGExpr.cpp CodeGen/CGExprA

[PATCH] D45306: PR36992 don't overwrite virtual bases in tail padding

2018-04-05 Thread John McCall via Phabricator via cfe-commits
rjmccall added a comment. Changing the requirements on the return-value slot would be an ABI break, no? And it would force to us to treat all complete-object constructions as nvsize-limited unless they're constructions of known sizeof-sized allocations. Comment at: CodeGen/C

[PATCH] D45306: PR36992 don't overwrite virtual bases in tail padding

2018-04-04 Thread Richard Smith - zygoloid via Phabricator via cfe-commits
rsmith created this revision. rsmith added a reviewer: rjmccall. Herald added subscribers: cfe-commits, sanjoy. When initializing a base class, we might accidentally overwrite a virtual base in its tail padding in some situations (in particular, when emitting a trivial copy constructor as a memc