On Mon, 18 Nov 2024 05:48:57 GMT, Julian Waters <jwat...@openjdk.org> wrote:

>> [JDK-8305590](https://bugs.openjdk.org/browse/JDK-8305590) removed 
>> `-fcheck-new` when building with gcc. It turns out Visual Studio has a 
>> similar option, though inverted in behavior and default.
>> 
>> It seems like /Zc:throwingNew- (the default) corresponds to gcc -fcheck-new, 
>> and /Zc:throwingNew corresponds to -fno-check-new (the default).
>> 
>> The Visual Studio documentation strongly recommends using /Zc:throwingNew if 
>> possible, as turning it off (the default) seriously bloats code and inhibits 
>> optimizations.
>> https://learn.microsoft.com/en-us/cpp/build/reference/zc-throwingnew-assume-operator-new-throws?view=msvc-170
>> 
>> As mentioned in [JDK-8305590](https://bugs.openjdk.org/browse/JDK-8305590), 
>> the standard says that an allocation function can report allocation failure 
>> either by returning null (when it must have a nothrow exception 
>> specification), or by throwing `std::bad_alloc` (so obviously must not be 
>> declared as non-throwing). HotSpot allocation functions terminate the 
>> program instead of throwing on allocation failure, so similarly don't need 
>> the result checked for null.
>> 
>> The documentation for /Zc:throwingNew is somewhat vague and confusing, so 
>> some investigation is probably needed to verify it really has the desired 
>> effect for us.
>
> Julian Waters has updated the pull request with a new target base due to a 
> merge or a rebase. The pull request now contains three commits:
> 
>  - Merge branch 'master' into patch-15
>  - -Zc:throwingNew in flags-cflags.m4
>  - 8306579

One thing I have a query on: Does this need the problem with the ADLC operator 
new to be fixed before it can be integrated?

-------------

PR Comment: https://git.openjdk.org/jdk/pull/22039#issuecomment-2490168368

Reply via email to