Turn target_can_execute_reverse into function

This changes target_can_execute_reverse from an object-like macro to
an inline function.

gdb/ChangeLog
2020-09-28  Tom Tromey  <tom@tromey.com>

	* mi/mi-main.c (exec_reverse_continue)
	(mi_cmd_list_target_features): Update.
	* infrun.c (set_exec_direction_func): Update.
	* target.c (default_execution_direction): Update.
	* reverse.c (exec_reverse_once): Update.
	* target.h (target_can_execute_reverse): Now a function.
This commit is contained in:
Tom Tromey
2020-09-28 19:38:25 -06:00
parent 9dccd06e8a
commit 05374cfd90
6 changed files with 19 additions and 7 deletions

View File

@ -1,3 +1,12 @@
2020-09-28 Tom Tromey <tom@tromey.com>
* mi/mi-main.c (exec_reverse_continue)
(mi_cmd_list_target_features): Update.
* infrun.c (set_exec_direction_func): Update.
* target.c (default_execution_direction): Update.
* reverse.c (exec_reverse_once): Update.
* target.h (target_can_execute_reverse): Now a function.
2020-09-28 Tom Tromey <tom@tromey.com>
* tui/tui-regs.c (tui_get_register)

View File

@ -9145,7 +9145,7 @@ static void
set_exec_direction_func (const char *args, int from_tty,
struct cmd_list_element *cmd)
{
if (target_can_execute_reverse)
if (target_can_execute_reverse ())
{
if (!strcmp (exec_direction, exec_forward))
execution_direction = EXEC_FORWARD;

View File

@ -321,7 +321,7 @@ exec_reverse_continue (char **argv, int argc)
if (dir == EXEC_REVERSE)
error (_("Already in reverse mode."));
if (!target_can_execute_reverse)
if (!target_can_execute_reverse ())
error (_("Target %s does not support this command."), target_shortname);
scoped_restore save_exec_dir = make_scoped_restore (&execution_direction,
@ -1684,7 +1684,7 @@ mi_cmd_list_target_features (const char *command, char **argv, int argc)
ui_out_emit_list list_emitter (uiout, "features");
if (mi_async_p ())
uiout->field_string (NULL, "async");
if (target_can_execute_reverse)
if (target_can_execute_reverse ())
uiout->field_string (NULL, "reverse");
return;
}

View File

@ -44,7 +44,7 @@ exec_reverse_once (const char *cmd, const char *args, int from_tty)
error (_("Already in reverse mode. Use '%s' or 'set exec-dir forward'."),
cmd);
if (!target_can_execute_reverse)
if (!target_can_execute_reverse ())
error (_("Target %s does not support this command."), target_shortname);
std::string reverse_command = string_printf ("%s %s", cmd, args ? args : "");

View File

@ -525,7 +525,7 @@ default_get_ada_task_ptid (struct target_ops *self, long lwp, long tid)
static enum exec_direction_kind
default_execution_direction (struct target_ops *self)
{
if (!target_can_execute_reverse)
if (!target_can_execute_reverse ())
return EXEC_FORWARD;
else if (!target_can_async_p ())
return EXEC_FORWARD;

View File

@ -2117,8 +2117,11 @@ extern int target_ranged_break_num_registers (void);
extern int target_masked_watch_num_registers (CORE_ADDR addr, CORE_ADDR mask);
/* Target can execute in reverse? */
#define target_can_execute_reverse \
current_top_target ()->can_execute_reverse ()
static inline bool
target_can_execute_reverse ()
{
return current_top_target ()->can_execute_reverse ();
}
extern const struct target_desc *target_read_description (struct target_ops *);