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
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
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
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
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
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