From 4ec2227afb0a091fa94e1571bc5e117a2a6c8b01 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Fri, 11 Nov 2022 14:50:50 -0700 Subject: [PATCH] Use bool in bpstat This changes bpstat to use 'bool' rather than 'char', and updates the uses. --- gdb/break-catch-load.c | 2 +- gdb/break-catch-throw.c | 4 ++-- gdb/breakpoint.c | 38 +++++++++++++++++++------------------- gdb/breakpoint.h | 11 ++++++----- gdb/extension.c | 4 ++-- gdb/extension.h | 2 +- 6 files changed, 31 insertions(+), 30 deletions(-) diff --git a/gdb/break-catch-load.c b/gdb/break-catch-load.c index 617ee2b694d..58764218401 100644 --- a/gdb/break-catch-load.c +++ b/gdb/break-catch-load.c @@ -134,7 +134,7 @@ solib_catchpoint::check_status (struct bpstat *bs) } } - bs->stop = 0; + bs->stop = false; bs->print_it = print_it_noop; } diff --git a/gdb/break-catch-throw.c b/gdb/break-catch-throw.c index 0da3cbfb021..2fea27b0e7a 100644 --- a/gdb/break-catch-throw.c +++ b/gdb/break-catch-throw.c @@ -172,7 +172,7 @@ exception_catchpoint::check_status (struct bpstat *bs) std::string type_name; this->breakpoint::check_status (bs); - if (bs->stop == 0) + if (!bs->stop) return; if (self->pattern == NULL) @@ -200,7 +200,7 @@ exception_catchpoint::check_status (struct bpstat *bs) if (name != nullptr) { if (self->pattern->exec (name, 0, NULL, 0) != 0) - bs->stop = 0; + bs->stop = false; } } diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c index c4384e56a41..67ed3b82f05 100644 --- a/gdb/breakpoint.c +++ b/gdb/breakpoint.c @@ -5253,7 +5253,7 @@ bpstat_check_location (const struct bp_location *bl, } /* Determine if the watched values have actually changed, and we - should stop. If not, set BS->stop to 0. */ + should stop. If not, set BS->stop to false. */ static void bpstat_check_watchpoint (bpstat *bs) @@ -5320,7 +5320,7 @@ bpstat_check_watchpoint (bpstat *bs) break; case WP_IGNORE: bs->print_it = print_it_noop; - bs->stop = 0; + bs->stop = false; break; case WP_VALUE_CHANGED: if (b->type == bp_read_watchpoint) @@ -5387,7 +5387,7 @@ bpstat_check_watchpoint (bpstat *bs) updated it, so this trap must be for a write. Ignore it. */ bs->print_it = print_it_noop; - bs->stop = 0; + bs->stop = false; } } break; @@ -5398,7 +5398,7 @@ bpstat_check_watchpoint (bpstat *bs) /* Don't stop: write watchpoints shouldn't fire if the value hasn't changed. */ bs->print_it = print_it_noop; - bs->stop = 0; + bs->stop = false; } /* Stop. */ break; @@ -5414,7 +5414,7 @@ bpstat_check_watchpoint (bpstat *bs) watchpoint triggered after all. So don't print anything for this watchpoint. */ bs->print_it = print_it_noop; - bs->stop = 0; + bs->stop = false; } } } @@ -5457,7 +5457,7 @@ bpstat_check_breakpoint_conditions (bpstat *bs, thread_info *thread) infrun_debug_printf ("incorrect frame %s not %s, not stopping", get_stack_frame_id (get_current_frame ()).to_string ().c_str (), b->frame_id.to_string ().c_str ()); - bs->stop = 0; + bs->stop = false; return; } @@ -5468,7 +5468,7 @@ bpstat_check_breakpoint_conditions (bpstat *bs, thread_info *thread) || (b->task != 0 && b->task != ada_get_task_number (thread))) { infrun_debug_printf ("incorrect thread or task, not stopping"); - bs->stop = 0; + bs->stop = false; return; } @@ -5558,7 +5558,7 @@ bpstat_check_breakpoint_conditions (bpstat *bs, thread_info *thread) if (cond != nullptr && !condition_result) { infrun_debug_printf ("condition_result = false, not stopping"); - bs->stop = 0; + bs->stop = false; return; } else if (b->ignore_count > 0) @@ -5566,7 +5566,7 @@ bpstat_check_breakpoint_conditions (bpstat *bs, thread_info *thread) infrun_debug_printf ("ignore count %d, not stopping", b->ignore_count); b->ignore_count--; - bs->stop = 0; + bs->stop = false; /* Increase the hit count even though we don't stop. */ ++(b->hit_count); gdb::observers::breakpoint_modified.notify (b); @@ -5629,8 +5629,8 @@ build_bpstat_chain (const address_space *aspace, CORE_ADDR bp_addr, /* Assume we stop. Should we find a watchpoint that is not actually triggered, or if the condition of the breakpoint evaluates as false, we'll reset 'stop' to 0. */ - bs->stop = 1; - bs->print = 1; + bs->stop = true; + bs->print = true; /* If this is a scope breakpoint, mark the associated watchpoint as triggered so that we will handle the @@ -5656,8 +5656,8 @@ build_bpstat_chain (const address_space *aspace, CORE_ADDR bp_addr, { bpstat *bs = new bpstat (loc, &bs_link); /* For hits of moribund locations, we should just proceed. */ - bs->stop = 0; - bs->print = 0; + bs->stop = false; + bs->print = false; bs->print_it = print_it_noop; } } @@ -5734,11 +5734,11 @@ bpstat_stop_status (const address_space *aspace, } gdb::observers::breakpoint_modified.notify (b); if (b->silent) - bs->print = 0; + bs->print = false; bs->commands = b->commands; if (command_line_is_silent (bs->commands ? bs->commands.get () : NULL)) - bs->print = 0; + bs->print = false; b->after_condition_true (bs); } @@ -11882,11 +11882,11 @@ internal_breakpoint::check_status (bpstat *bs) events. This allows the user to get control and place breakpoints in initializer routines for dynamically loaded objects (among other things). */ - bs->stop = stop_on_solib_events; - bs->print = stop_on_solib_events; + bs->stop = stop_on_solib_events != 0; + bs->print = stop_on_solib_events != 0; } else - bs->stop = 0; + bs->stop = false; } enum print_stop_action @@ -12133,7 +12133,7 @@ dprintf_breakpoint::after_condition_true (struct bpstat *bs) /* dprintf's never cause a stop. This wasn't set in the check_status hook instead because that would make the dprintf's condition not be evaluated. */ - bs->stop = 0; + bs->stop = false; /* Run the command list here. Take ownership of it instead of copying. We never want these commands to run later in diff --git a/gdb/breakpoint.h b/gdb/breakpoint.h index f7633d29cbf..ac58c4a51b5 100644 --- a/gdb/breakpoint.h +++ b/gdb/breakpoint.h @@ -664,7 +664,8 @@ struct breakpoint const target_waitstatus &ws); /* Check internal conditions of the breakpoint referred to by BS. - If we should not stop for this breakpoint, set BS->stop to 0. */ + If we should not stop for this breakpoint, set BS->stop to + false. */ virtual void check_status (struct bpstat *bs) { /* Always stop. */ @@ -1326,11 +1327,11 @@ struct bpstat /* Old value associated with a watchpoint. */ value_ref_ptr old_val; - /* Nonzero if this breakpoint tells us to print the frame. */ - char print; + /* True if this breakpoint tells us to print the frame. */ + bool print; - /* Nonzero if this breakpoint tells us to stop. */ - char stop; + /* True if this breakpoint tells us to stop. */ + bool stop; /* Tell bpstat_print and print_bp_stop_message how to print stuff associated with this element of the bpstat chain. */ diff --git a/gdb/extension.c b/gdb/extension.c index ae8ef0d6e31..fe159a803b1 100644 --- a/gdb/extension.c +++ b/gdb/extension.c @@ -598,7 +598,7 @@ get_breakpoint_cond_ext_lang (struct breakpoint *b, /* Return whether a stop condition for breakpoint B says to stop. True is also returned if there is no stop condition for B. */ -int +bool breakpoint_ext_lang_cond_says_stop (struct breakpoint *b) { enum ext_lang_bp_stop stop = EXT_LANG_BP_STOP_UNSET; @@ -627,7 +627,7 @@ breakpoint_ext_lang_cond_says_stop (struct breakpoint *b) } } - return stop == EXT_LANG_BP_STOP_NO ? 0 : 1; + return stop != EXT_LANG_BP_STOP_NO; } /* ^C/SIGINT support. diff --git a/gdb/extension.h b/gdb/extension.h index 72cff218f5b..7586b3c9eca 100644 --- a/gdb/extension.h +++ b/gdb/extension.h @@ -300,7 +300,7 @@ extern void preserve_ext_lang_values (struct objfile *, htab_t copied_types); extern const struct extension_language_defn *get_breakpoint_cond_ext_lang (struct breakpoint *b, enum extension_language skip_lang); -extern int breakpoint_ext_lang_cond_says_stop (struct breakpoint *); +extern bool breakpoint_ext_lang_cond_says_stop (struct breakpoint *); /* If a method with name METHOD_NAME is to be invoked on an object of type TYPE, then all extension languages are searched for implementations of -- 2.30.2