2004-10-30 Andrew Cagney <cagney@gnu.org>
authorAndrew Cagney <cagney@redhat.com>
Sat, 30 Oct 2004 17:10:14 +0000 (17:10 +0000)
committerAndrew Cagney <cagney@redhat.com>
Sat, 30 Oct 2004 17:10:14 +0000 (17:10 +0000)
* cli/cli-decode.c (add_setshow_enum_cmd): New function.
* command.h (add_setshow_enum_cmd): Declare.
* mips-tdep.c (_initialize_mips_tdep): Use add_setshow_enum_cmd.

gdb/ChangeLog
gdb/cli/cli-decode.c
gdb/command.h
gdb/mips-tdep.c

index 436c8bb..9f0f01e 100644 (file)
@@ -1,5 +1,9 @@
 2004-10-30  Andrew Cagney  <cagney@gnu.org>
 
+       * cli/cli-decode.c (add_setshow_enum_cmd): New function.
+       * command.h (add_setshow_enum_cmd): Declare.
+       * mips-tdep.c (_initialize_mips_tdep): Use add_setshow_enum_cmd.
+
        * mips-tdep.c (_initialize_mips_tdep): Use
        add_setshow_zinteger_cmd.
        
index cf008eb..4c6c89c 100644 (file)
@@ -402,6 +402,34 @@ add_set_enum_cmd (char *name,
   return c;
 }
 
+/* Add element named NAME to command list LIST (the list for set or
+   some sublist thereof).  CLASS is as in add_cmd.  ENUMLIST is a list
+   of strings which may follow NAME.  VAR is address of the variable
+   which will contain the matching string (from ENUMLIST).  */
+
+void
+add_setshow_enum_cmd (char *name,
+                     enum command_class class,
+                     const char *enumlist[],
+                     const char **var,
+                     const char *set_doc,
+                     const char *show_doc,
+                     const char *help_doc,
+                     const char *print,
+                     cmd_sfunc_ftype *set_func,
+                     cmd_sfunc_ftype *show_func,
+                     struct cmd_list_element **set_list,
+                     struct cmd_list_element **show_list)
+{
+  struct cmd_list_element *c;
+  add_setshow_cmd_full (name, class, var_enum, var,
+                       set_doc, show_doc, help_doc, print,
+                       set_func, show_func,
+                       set_list, show_list,
+                       &c, NULL);
+  c->enums = enumlist;
+}
+
 /* Add an auto-boolean command named NAME to both the set and show
    command list lists.  CLASS is as in add_cmd.  VAR is address of the
    variable which will contain the value.  DOC is the documentation
index 8c04613..5b7a542 100644 (file)
@@ -223,6 +223,18 @@ extern struct cmd_list_element *add_set_enum_cmd (char *name,
                                                  const char **var,
                                                  char *doc,
                                                  struct cmd_list_element **list);
+extern void add_setshow_enum_cmd (char *name,
+                                 enum command_class class,
+                                 const char *enumlist[],
+                                 const char **var,
+                                 const char *set_doc,
+                                 const char *show_doc,
+                                 const char *help_doc,
+                                 const char *print,
+                                 cmd_sfunc_ftype *set_func,
+                                 cmd_sfunc_ftype *show_func,
+                                 struct cmd_list_element **set_list,
+                                 struct cmd_list_element **show_list);
 
 extern void add_setshow_auto_boolean_cmd (char *name,
                                          enum command_class class,
index 9642fcc..b530dd6 100644 (file)
@@ -6029,31 +6029,31 @@ _initialize_mips_tdep (void)
                  &showmipscmdlist, "show mips ", 0, &showlist);
 
   /* Allow the user to override the saved register size. */
-  deprecated_add_show_from_set (add_set_enum_cmd ("saved-gpreg-size",
-                                                 class_obscure,
-                                                 size_enums,
-                                                 &mips_abi_regsize_string, "\
-Set size of general purpose registers saved on the stack.\n\
+  add_setshow_enum_cmd ("saved-gpreg-size", class_obscure,
+                       size_enums, &mips_abi_regsize_string, "\
+Set size of general purpose registers saved on the stack.\n", "\
+Show size of general purpose registers saved on the stack.\n", "\
 This option can be set to one of:\n\
   32    - Force GDB to treat saved GP registers as 32-bit\n\
   64    - Force GDB to treat saved GP registers as 64-bit\n\
   auto  - Allow GDB to use the target's default setting or autodetect the\n\
           saved GP register size from information contained in the executable.\n\
-          (default: auto)", &setmipscmdlist), &showmipscmdlist);
+          (default: auto)", "\
+Size of general purpose registers saved on the stack is %s.\n",
+                       NULL, NULL, &setmipscmdlist, &showmipscmdlist);
 
   /* Allow the user to override the argument stack size. */
-  deprecated_add_show_from_set
-    (add_set_enum_cmd ("stack-arg-size",
-                      class_obscure,
-                      size_enums,
-                      &mips_stack_argsize_string, "\
-Set the amount of stack space reserved for each argument.\n\
+  add_setshow_enum_cmd ("stack-arg-size", class_obscure,
+                      size_enums, &mips_stack_argsize_string, "\
+Set the amount of stack space reserved for each argument.\n", "\
+Show the amount of stack space reserved for each argument.\n", "\
 This option can be set to one of:\n\
   32    - Force GDB to allocate 32-bit chunks per argument\n\
   64    - Force GDB to allocate 64-bit chunks per argument\n\
   auto  - Allow GDB to determine the correct setting from the current\n\
-          target and executable (default)", &setmipscmdlist),
-     &showmipscmdlist);
+          target and executable (default)", "\
+The amount of stack space reserved for each argument is %s.\n",
+                       NULL, NULL, &setmipscmdlist, &showmipscmdlist);
 
   /* Allow the user to override the ABI. */
   c = add_set_enum_cmd