From 1b295c3d694ca3e6d06cdcba8c886052529a0c4a Mon Sep 17 00:00:00 2001 From: Andrew Cagney Date: Sat, 30 Oct 2004 17:10:14 +0000 Subject: [PATCH] 2004-10-30 Andrew Cagney * 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 | 4 ++++ gdb/cli/cli-decode.c | 28 ++++++++++++++++++++++++++++ gdb/command.h | 12 ++++++++++++ gdb/mips-tdep.c | 28 ++++++++++++++-------------- 4 files changed, 58 insertions(+), 14 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 436c8bb12b7..9f0f01ede14 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,9 @@ 2004-10-30 Andrew Cagney + * 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. diff --git a/gdb/cli/cli-decode.c b/gdb/cli/cli-decode.c index cf008eb7b89..4c6c89c599b 100644 --- a/gdb/cli/cli-decode.c +++ b/gdb/cli/cli-decode.c @@ -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 diff --git a/gdb/command.h b/gdb/command.h index 8c0461377d1..5b7a5424c29 100644 --- a/gdb/command.h +++ b/gdb/command.h @@ -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, diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c index 9642fcceba7..b530dd6fa0c 100644 --- a/gdb/mips-tdep.c +++ b/gdb/mips-tdep.c @@ -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 -- 2.30.2