profile mode fix

François Dumont frs.dumont@gmail.com
Thu Jan 30 21:16: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 Gcc-patches mailing list