This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Don't preserve `uiout' across TRY_CATCH.


On Wednesday 03 August 2011 20:27:10, Tom Tromey wrote:
> >>>>> "Pedro" == Pedro Alves <pedro@codesourcery.com> writes:
> 
> Pedro> I think that's wrong for TRY_CATCH to do - TRY_CATCH should be a
> Pedro> low level exceptions framework, and it should be catch_errors and
> Pedro> whatever other callers that want to preserve uiout that should
> Pedro> guarantee uiout is preserved.
> 
> I completely agree.  Thanks for doing this.
> 
> Want to see something (sort of) related and gross?  From
> throw_exception:
> 
>   /* Perhaps it would be cleaner to do this via the cleanup chain (not sure
>      I can think of a reason why that is vital, though).  */
>   if (tp != NULL)
>     {
>       /* Clear queued breakpoint commands.  */
>       bpstat_clear_actions (tp->control.stop_bpstat);
>     }
> 
>   disable_current_display ();

Yeah, that so needs to go away!  Any inner exception that is
caught and handled potentially breaks breakpoints and displays...

> Pedro> `uiout' is not a great name for grepping for uses.  I'll post a
> Pedro> followup that renames it to `current_uiout'.
> 
> Thanks, that sounds great.  One step closer to -Wshadow :-)

Coming up as soon as I manage to write the ChangeLog.  :-P

> Pedro> Tested on x86_64-linux.  Anyone see a problem with this?
> 
> It is hard to know whether it will uncover a problem somewhere, but TBH
> I would rather put it in and find out.  I did spot-check assignments to
> uiout (there aren't many according to my quick grep) and didn't see
> anything.

Thanks.  I applied it.

-- 
Pedro Alves


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]