[C++ PATCH] PR c++/35878
Mon Mar 20 23:41:00 GMT 2017
On Tue, 21 Mar 2017, Ville Voutilainen wrote:
> On 20 March 2017 at 04:27, Jason Merrill <email@example.com> wrote:
>> On Sun, Mar 19, 2017 at 6:19 PM, Ville Voutilainen
>> <firstname.lastname@example.org> wrote:
>>> I ran the tests for g++.dg/init thus far. Does this patch make sense?
>> The condition needs to be a lot more specific: DR 1748 only applies to
>> the non-allocating forms in [new.delete.placement], not to other
>> placement allocation functions.
> Round 2:
> The new tests tested on Linux-x64, finishing testing with the full suite on
> 2017-03-20 Ville Voutilainen <email@example.com>
> PR c++/35878
> * cp/init.c (build_new_1): Don't do a null check for
> a namespace-scope non-replaceable placement new
> in C++17 mode unless -fcheck-new is provided.
It looks strange to me. Why not change the definition of check_new instead
of changing the condition that uses it? One of the tests for
flag_check_new is redundant. In C++17 mode, you test for NULL return from
throwing operator new, why? This is a DR, doesn't it mean that it should
apply to all modes? Or is the hope that limiting it to an experimental
mode might let it pass in stage 4?
More information about the Gcc-patches