Move finish_print out of value_print_options
authorTom Tromey <tromey@adacore.com>
Mon, 6 Jun 2022 16:01:40 +0000 (10:01 -0600)
committerTom Tromey <tromey@adacore.com>
Mon, 20 Jun 2022 15:11:13 +0000 (09:11 -0600)
'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.

gdb/infcmd.c
gdb/valprint.c
gdb/valprint.h

index 185902593395f59b99c13eedf17a88286e103d79..17d15534356ac08dd3c5718abcd3964c9328802f 100644 (file)
@@ -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;
+
 \f
 
 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,
index e63ec30f4c7c6f8ec18eaf4b68f7bf603ac38366..f873e12d0ca0797edaf1ee3bafea97b9f60dca71 100644 (file)
@@ -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.  */
index d6ad45d7580fdeb4de8b4eb450bb08e679303517..2e12eaadf939f4206d503c51f72cb08219765c6a 100644 (file)
@@ -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