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.
This commit is contained in:
Andrew Cagney 2004-10-30 17:10:14 +00:00
parent 6bcadd0641
commit 1b295c3d69
4 changed files with 58 additions and 14 deletions

View 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.

View 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

View 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,

View 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