On 1/25/19 6:20 AM, Paolo Carlini wrote:
Hi,
On 24/01/19 23:21, Jason Merrill wrote:
On 1/24/19 2:53 PM, Paolo Carlini wrote:
Hi,
as far as I can see this ICE on invalid points to a substantive, if
minor, weakness of our implementation of the destroying operator
delete facility: we aren't implementing the bits, per 7.6.2.5/(10.1),
about destroying operator delete having precedence over any other
operator delete. Thus the below, which is the most straightforward
implementation I have been able to figure out given the current
infrastructure. Tested x86_64-linux.
OK, thanks.
Thanks you.
Yesterday I didn't notice that the bug report includes another testcase,
for an unrelated buglet: if the destroying operator delete is wrongly
specified as not-taking a pointer to the class type as first argument,
TYPE_POINTER_TO may not be set yet in coerce_delete_type and we crash
later on. Thus the below, which changes it to build_pointer_type.
Also OK. :)
Jason