[PATCH] D61165: Fix a crash where a [[no_destroy]] destructor was not emitted in an array

Louis Dionne via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri May 3 15:57:35 PDT 2019


ldionne added a comment.

I've only been lurking but FWIW (1) above makes the most sense to me, unless the Standard clearly draws a distinction between *constructed* and *initialized* in the way that was described, in which case (3) is the right approach. However, I would wait for at least a CWG issue to be filed to clarify the intent of the standard before adopting (3), otherwise it seems like we're adopting a slightly surprising behavior (and also one that's different from GCC) on a presumption of intent.

So for now I'd personally go with (1) and consider it a bugfix if the Standard decides to clarify intent in a way that (3) is the right thing to do -- we'll already have to change stuff anyway if that happens.

Also, I would personally be keen on potentially breaking source compatibility by doing access checking, as it's not clear to me at all that this is going to cause any actual breakage in the real world given the age and narrowness of the attribute.

Just my .02


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

https://reviews.llvm.org/D61165





More information about the cfe-commits mailing list