Move finish_print out of value_print_options
'finish_print' does not really belong in value_print_options -- this is consulted only when deciding whether or not to print a value, and never during the course of printing. This patch removes it from the structure and makes it a static global in infcmd.c instead. Tested on x86-64 Fedora 34.
This commit is contained in:
+10
-5
@@ -98,6 +98,11 @@ enum stop_stack_kind stop_stack_dummy;
|
||||
|
||||
int stopped_by_random_signal;
|
||||
|
||||
|
||||
/* Whether "finish" should print the value. */
|
||||
|
||||
static bool finish_print = true;
|
||||
|
||||
|
||||
|
||||
static void
|
||||
@@ -1524,17 +1529,17 @@ print_return_value_1 (struct ui_out *uiout, struct return_value_info *rv)
|
||||
{
|
||||
if (rv->value != NULL)
|
||||
{
|
||||
struct value_print_options opts;
|
||||
|
||||
/* Print it. */
|
||||
uiout->text ("Value returned is ");
|
||||
uiout->field_fmt ("gdb-result-var", "$%d",
|
||||
rv->value_history_index);
|
||||
uiout->text (" = ");
|
||||
get_user_print_options (&opts);
|
||||
|
||||
if (opts.finish_print)
|
||||
if (finish_print)
|
||||
{
|
||||
struct value_print_options opts;
|
||||
get_user_print_options (&opts);
|
||||
|
||||
string_file stb;
|
||||
value_print (rv->value, &stb, &opts);
|
||||
uiout->field_stream ("return-value", stb);
|
||||
@@ -3351,7 +3356,7 @@ List all available info about the specified process."),
|
||||
&info_proc_cmdlist);
|
||||
|
||||
add_setshow_boolean_cmd ("finish", class_support,
|
||||
&user_print_options.finish_print, _("\
|
||||
&finish_print, _("\
|
||||
Set whether `finish' prints the return value."), _("\
|
||||
Show whether `finish' prints the return value."), NULL,
|
||||
NULL,
|
||||
|
||||
@@ -121,7 +121,6 @@ struct value_print_options user_print_options =
|
||||
0, /* summary */
|
||||
1, /* symbol_print */
|
||||
PRINT_MAX_DEPTH_DEFAULT, /* max_depth */
|
||||
1 /* finish_print */
|
||||
};
|
||||
|
||||
/* Initialize *OPTS to be a copy of the user print options. */
|
||||
|
||||
@@ -103,9 +103,6 @@ struct value_print_options
|
||||
|
||||
/* Maximum print depth when printing nested aggregates. */
|
||||
int max_depth;
|
||||
|
||||
/* Whether "finish" should print the value. */
|
||||
bool finish_print;
|
||||
};
|
||||
|
||||
/* Create an option_def_group for the value_print options, with OPTS
|
||||
|
||||
Reference in New Issue
Block a user