This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[commit] Add add_setshow_enum_cmd, use in mips


Another cleanup.

committed,
Andrew
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.

Index: command.h
===================================================================
RCS file: /cvs/src/src/gdb/command.h,v
retrieving revision 1.41
diff -p -u -r1.41 command.h
--- command.h	28 Jul 2004 19:42:00 -0000	1.41
+++ command.h	30 Oct 2004 17:09:25 -0000
@@ -223,6 +223,18 @@ extern struct cmd_list_element *add_set_
 						  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: mips-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/mips-tdep.c,v
retrieving revision 1.342
diff -p -u -r1.342 mips-tdep.c
--- mips-tdep.c	30 Oct 2004 16:53:22 -0000	1.342
+++ mips-tdep.c	30 Oct 2004 17:09:26 -0000
@@ -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
Index: cli/cli-decode.c
===================================================================
RCS file: /cvs/src/src/gdb/cli/cli-decode.c,v
retrieving revision 1.41
diff -p -u -r1.41 cli-decode.c
--- cli/cli-decode.c	30 Jul 2004 17:55:47 -0000	1.41
+++ cli/cli-decode.c	30 Oct 2004 17:09:26 -0000
@@ -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 Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]