diff mbox series

gdbinit.in: add "break-on-diagnostic" command

Message ID 1510859318-31411-1-git-send-email-dmalcolm@redhat.com
State New
Headers show
Series gdbinit.in: add "break-on-diagnostic" command | expand

Commit Message

David Malcolm Nov. 16, 2017, 7:08 p.m. UTC
It's useful to be able to put a breakpoint on the *emission* of
a diagnostic (without having to step past all of the warnings
that are suppressed because of command-line options).

The invocation:

  (gdb) break diagnostic_show_locus

has been my approach for this for a while (it even works in
the presence of -fno-diagnostics-show-caret).

This patch adds a pre-canned gdb command for adding this
breakpoint.

Not sure if I can self-approve this, but it's been very useful;
it works nicely with tab-completion.  I guess I'll commit it
in a few days, unless people here can suggest improvements.

gcc/ChangeLog:
	* gdbinit.in (break-on-diagnostic): New command.
---
 gcc/gdbinit.in | 10 ++++++++++
 1 file changed, 10 insertions(+)

Comments

Jeff Law Nov. 17, 2017, 1:16 a.m. UTC | #1
On 11/16/2017 12:08 PM, David Malcolm wrote:
> It's useful to be able to put a breakpoint on the *emission* of
> a diagnostic (without having to step past all of the warnings
> that are suppressed because of command-line options).
> 
> The invocation:
> 
>   (gdb) break diagnostic_show_locus
> 
> has been my approach for this for a while (it even works in
> the presence of -fno-diagnostics-show-caret).
> 
> This patch adds a pre-canned gdb command for adding this
> breakpoint.
> 
> Not sure if I can self-approve this, but it's been very useful;
> it works nicely with tab-completion.  I guess I'll commit it
> in a few days, unless people here can suggest improvements.
> 
> gcc/ChangeLog:
> 	* gdbinit.in (break-on-diagnostic): New command.
OK.
jeff
diff mbox series

Patch

diff --git a/gcc/gdbinit.in b/gcc/gdbinit.in
index 3e1279e..ebdeaf0 100644
--- a/gcc/gdbinit.in
+++ b/gcc/gdbinit.in
@@ -208,6 +208,16 @@  document pcfun
 Print current function.
 end
 
+define break-on-diagnostic
+break diagnostic_show_locus
+end
+
+document break-on-diagnostic
+Put a breakpoint on diagnostic_show_locus, called whenever a diagnostic
+is emitted (as opposed to those warnings that are suppressed by
+command-line options).
+end
+
 # Define some macros helpful to gdb when it is expanding macros.
 macro define __FILE__ "gdb"
 macro define __LINE__ 1