diff options
author | Pedro Alves <palves@redhat.com> | 2016-02-17 00:51:03 +0000 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2016-02-17 00:51:03 +0000 |
commit | 3313c28ac9a436e3829b3d57261e7ab858136e46 (patch) | |
tree | 7fbce72ab9eec08d5fee52cb73b7c719003d852b | |
parent | 92486d23ae7a00be24e55dc3eccfbe00f852fb35 (diff) | |
download | binutils-gdb-3313c28ac9a436e3829b3d57261e7ab858136e46.tar.gz |
Introduce 'enum remove_bp_reason'
Makes the code more obvious.
gdb/ChangeLog:
2016-02-14 Pedro Alves <palves@redhat.com>
* breakpoint.c (insertion_state_t): Delete.
(enum remove_bp_reason): New.
(detach_breakpoints, remove_breakpoint_1, remove_breakpoint):
Adjust to use enum remove_bp_reason instead of insertion_state_t.
-rw-r--r-- | gdb/breakpoint.c | 33 |
1 files changed, 19 insertions, 14 deletions
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c index 05da8ed1efd..9b37508951d 100644 --- a/gdb/breakpoint.c +++ b/gdb/breakpoint.c @@ -194,15 +194,20 @@ static void commands_command (char *, int); static void condition_command (char *, int); -typedef enum - { - mark_inserted, - mark_uninserted - } -insertion_state_t; +/* Why are we removing the breakpoint from the target? */ + +enum remove_bp_reason +{ + /* A regular remove. Remove the breakpoint and forget everything + about it. */ + REMOVE_BREAKPOINT, + + /* Detach the breakpoints from a fork child. */ + DETACH_BREAKPOINT, +}; static int remove_breakpoint (struct bp_location *); -static int remove_breakpoint_1 (struct bp_location *, insertion_state_t); +static int remove_breakpoint_1 (struct bp_location *, enum remove_bp_reason); static enum print_stop_action print_bp_stop_message (bpstat bs); @@ -3922,7 +3927,7 @@ detach_breakpoints (ptid_t ptid) continue; if (bl->inserted) - val |= remove_breakpoint_1 (bl, mark_inserted); + val |= remove_breakpoint_1 (bl, DETACH_BREAKPOINT); } do_cleanups (old_chain); @@ -3936,7 +3941,7 @@ detach_breakpoints (ptid_t ptid) *not* look at bl->pspace->aspace here. */ static int -remove_breakpoint_1 (struct bp_location *bl, insertion_state_t is) +remove_breakpoint_1 (struct bp_location *bl, enum remove_bp_reason reason) { int val; @@ -4048,18 +4053,18 @@ remove_breakpoint_1 (struct bp_location *bl, insertion_state_t is) if (val) return val; - bl->inserted = (is == mark_inserted); + bl->inserted = (reason == DETACH_BREAKPOINT); } else if (bl->loc_type == bp_loc_hardware_watchpoint) { gdb_assert (bl->owner->ops != NULL && bl->owner->ops->remove_location != NULL); - bl->inserted = (is == mark_inserted); + bl->inserted = (reason == DETACH_BREAKPOINT); bl->owner->ops->remove_location (bl); /* Failure to remove any of the hardware watchpoints comes here. */ - if ((is == mark_uninserted) && (bl->inserted)) + if (reason == REMOVE_BREAKPOINT && bl->inserted) warning (_("Could not remove hardware watchpoint %d."), bl->owner->number); } @@ -4074,7 +4079,7 @@ remove_breakpoint_1 (struct bp_location *bl, insertion_state_t is) if (val) return val; - bl->inserted = (is == mark_inserted); + bl->inserted = (reason == DETACH_BREAKPOINT); } return 0; @@ -4097,7 +4102,7 @@ remove_breakpoint (struct bp_location *bl) switch_to_program_space_and_thread (bl->pspace); - ret = remove_breakpoint_1 (bl, mark_uninserted); + ret = remove_breakpoint_1 (bl, REMOVE_BREAKPOINT); do_cleanups (old_chain); return ret; |