This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: [PATCH] Add configure flag for operator new (std::nothrow)
- From: Jonathan Wakely <jwakely dot gcc at gmail dot com>
- To: Daniel Gutson <daniel dot gutson at tallertechnologies dot com>
- Cc: Martin Sebor <msebor at gmail dot com>, Aurelio Remonda <aurelio dot remonda at tallertechnologies dot com>, "libstdc++" <libstdc++ at gcc dot gnu dot org>, "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Date: Thu, 5 Nov 2015 22:41:07 +0530
- Subject: Re: [PATCH] Add configure flag for operator new (std::nothrow)
- Authentication-results: sourceware.org; auth=none
- References: <1446554133-3090-1-git-send-email-aurelio dot remonda at tallertechnologies dot com> <56391843 dot 1070807 at gmail dot com> <CAF5HaEVeD4G1Mj8GwbpLyZ8V+GWNRAy1=5qbfVHgrZ=GpkbHbg at mail dot gmail dot com> <CAH6eHdQ_8cL8rqsX5u3NrNouf6E2_LtRPQ5F-V-rgTQ3FZTRug at mail dot gmail dot com> <CAF5HaEX5Ju0uXcFP4cLRvh_wWOBaqezbM6WdNUFp+CbzzKNjdg at mail dot gmail dot com>
On 5 November 2015 at 20:52, Daniel Gutson wrote:
> Real use cases: statistics and logging. It's a (one time) callback
> reporting that something went wrong,
> but not intended to fix things e.g. by attempting to free more memory.
Why can't that be done by replacing operator new with a user-defined
function, instead of modifying the default one?
A program that wants to make use of the altered semantics is
non-portable because it relies on a custom libstdc++ configuration
option, and has to install a custom new-handler that relies on the
altered libstdc++ behaviour. Replacing operator new to do the logging
is portable and requires no custom configuration.
(I'm not rejecting the patch, but am still trying to make sure it's a
useful change.)