profile mode fix
François Dumont
frs.dumont@gmail.com
Thu Jan 30 21:06:00 GMT 2014
On 01/29/2014 09:18 PM, Jonathan Wakely wrote:
> On 29 January 2014 20:06, François Dumont <frs.dumont@gmail.com> wrote:
>> Here is the patch that simply consider 55083 as not supported except in
>> normal mode. This is a temporary workaround for 4.9 release so I prefer not
>> to introduce a dg-profile-mode-unsupported or something like that. Those
>> tests will simply appear as not supported for debug and parallel mode even
>> if they are, not a big deal, no ?
> But with that change we don't find out if those tests regress in debug mode :-(
>
> I prefer to just add noexcept to the profile mode move constructor,
> and if it throws then the program terminates. If you run out of
> memory when using profile mode then terminating seems reasonable to
> me; I don't think people are using profile mode to test how their
> programs handle std::bad_alloc.
>
> Put another way, if your program runs out of memory *because* of
> profile mode, then the results of the profiling will not give you
> useful data about how your program usually behaves. Using profile mode
> has altered the behaviour of the program. So in that situation simply
> calling std::terminate() makes sense.
>
So I let you apply your patch with your comment.
Do you think then that using a special allocator implementation
with a one element cache to make sure that a std::unordered_map insert
preceded by an erase won't throw could be interested ? If not I will
simply remove it from my TODOs list.
François
More information about the Libstdc++
mailing list