This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
FYI: add user_breakpoint_p
- From: Tom Tromey <tromey at redhat dot com>
- To: gdb-patches at sourceware dot org
- Date: Thu, 27 Jan 2011 19:40:06 -0700
- Subject: FYI: add user_breakpoint_p
I am planning to check this in.
I needed a `user_breakpoint_p' function for async breakpoint
notifications in MI. While writing this, I noticed similar code in
breakpoint.c, so this patch introduces the function and changes
everyplace to use it.
There was some inconsistency about whether the test should be ">= 0"
or "> 0". The latter seems more correct to me, since I think user
breakpoints always begin with 1.
Built and regtested on x86-64 (compile farm).
Tom
2011-01-27 Tom Tromey <tromey@redhat.com>
* breakpoint.h (user_breakpoint_p): Declare.
* breakpoint.c (user_breakpoint_p): New function.
(breakpoint_1): Use it.
(save_breakpoints): Likewise.
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
index 8d0692b..c7a6484 100644
--- a/gdb/breakpoint.c
+++ b/gdb/breakpoint.c
@@ -5064,6 +5064,15 @@ user_settable_breakpoint (const struct breakpoint *b)
|| is_watchpoint (b));
}
+/* Return true if this breakpoint was set by the user, false if it is
+ internal or momentary. */
+
+int
+user_breakpoint_p (struct breakpoint *b)
+{
+ return user_settable_breakpoint (b) && b->number > 0;
+}
+
/* Print information on user settable breakpoint (watchpoint, etc)
number BNUM. If BNUM is -1 print all user-settable breakpoints.
If ALLFLAG is non-zero, include non-user-settable breakpoints. If
@@ -5096,8 +5105,7 @@ breakpoint_1 (int bnum, int allflag,
if (filter && !filter (b))
continue;
- if (allflag || (user_settable_breakpoint (b)
- && b->number > 0))
+ if (allflag || user_breakpoint_p (b))
{
int addr_bit, type_len;
@@ -5169,8 +5177,7 @@ breakpoint_1 (int bnum, int allflag,
/* We only print out user settable breakpoints unless the
allflag is set. */
- if (allflag || (user_settable_breakpoint (b)
- && b->number > 0))
+ if (allflag || user_breakpoint_p (b))
print_one_breakpoint (b, &last_loc, print_address_bits, allflag);
}
}
@@ -11727,7 +11734,7 @@ save_breakpoints (char *filename, int from_tty,
ALL_BREAKPOINTS (tp)
{
/* Skip internal and momentary breakpoints. */
- if (!user_settable_breakpoint (tp) || tp->number < 0)
+ if (! user_breakpoint_p (tp))
continue;
/* If we have a filter, only save the breakpoints it accepts. */
@@ -11765,7 +11772,7 @@ save_breakpoints (char *filename, int from_tty,
ALL_BREAKPOINTS (tp)
{
/* Skip internal and momentary breakpoints. */
- if (!user_settable_breakpoint (tp) || tp->number < 0)
+ if (! user_breakpoint_p (tp))
continue;
/* If we have a filter, only save the breakpoints it accepts. */
diff --git a/gdb/breakpoint.h b/gdb/breakpoint.h
index 69598a7..6eed2cd 100644
--- a/gdb/breakpoint.h
+++ b/gdb/breakpoint.h
@@ -1184,4 +1184,6 @@ extern void end_rbreak_breakpoints (void);
extern struct breakpoint *iterate_over_breakpoints (int (*) (struct breakpoint *,
void *), void *);
+extern int user_breakpoint_p (struct breakpoint *);
+
#endif /* !defined (BREAKPOINT_H) */