aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2020-09-28 19:38:25 -0600
committerTom Tromey <tom@tromey.com>2020-09-28 19:52:21 -0600
commit8a3ecb79b031d578cbdbac5e70784c157ff6387d (patch)
tree111407603d927f6656f00c9e778e62cf7202c20a
parent55f6301ac03f8865f486fa2fe8019bd5129f86e3 (diff)
downloadbinutils-8a3ecb79b031d578cbdbac5e70784c157ff6387d.zip
binutils-8a3ecb79b031d578cbdbac5e70784c157ff6387d.tar.gz
binutils-8a3ecb79b031d578cbdbac5e70784c157ff6387d.tar.bz2
Turn target_can_lock_scheduler into a function
This changes the object-like macro target_can_lock_scheduler into an inline function. gdb/ChangeLog 2020-09-28 Tom Tromey <tom@tromey.com> * infrun.c (set_schedlock_func): Update. * target.h (target_can_lock_scheduler): Now a function.
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/infrun.c2
-rw-r--r--gdb/target.h8
3 files changed, 12 insertions, 3 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 2c29fff3..fb533ae 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,10 @@
2020-09-28 Tom Tromey <tom@tromey.com>
+ * infrun.c (set_schedlock_func): Update.
+ * target.h (target_can_lock_scheduler): Now a function.
+
+2020-09-28 Tom Tromey <tom@tromey.com>
+
* inferior.h (class inferior) <has_execution>: Update.
* windows-tdep.c (windows_solib_create_inferior_hook): Update.
* valops.c (find_function_in_inferior)
diff --git a/gdb/infrun.c b/gdb/infrun.c
index 6ff362c..17b406d 100644
--- a/gdb/infrun.c
+++ b/gdb/infrun.c
@@ -2099,7 +2099,7 @@ show_scheduler_mode (struct ui_file *file, int from_tty,
static void
set_schedlock_func (const char *args, int from_tty, struct cmd_list_element *c)
{
- if (!target_can_lock_scheduler)
+ if (!target_can_lock_scheduler ())
{
scheduler_mode = schedlock_off;
error (_("Target '%s' cannot support this command."), target_shortname);
diff --git a/gdb/target.h b/gdb/target.h
index 20e7ae3..9ebb0c3 100644
--- a/gdb/target.h
+++ b/gdb/target.h
@@ -1837,8 +1837,12 @@ extern bool target_has_execution (inferior *inf = nullptr);
/* Can the target support the debugger control of thread execution?
Can it lock the thread scheduler? */
-#define target_can_lock_scheduler \
- (current_top_target ()->get_thread_control_capabilities () & tc_schedlock)
+static inline bool
+target_can_lock_scheduler ()
+{
+ return (current_top_target ()->get_thread_control_capabilities ()
+ & tc_schedlock) != 0;
+}
/* Controls whether async mode is permitted. */
extern bool target_async_permitted;