* cp-abi.c (cp_abi_completer): New function.

(_initialize_cp_abi): Set completer for "set cp-abi".
gdb/testsuite
	* gdb.base/completion.exp: Add "set cp-abi" completion test.
This commit is contained in:
Tom Tromey 2013-01-17 16:27:35 +00:00
parent f5555712ba
commit db2b2972f1
4 changed files with 38 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2013-01-17 Tom Tromey <tromey@redhat.com>
* cp-abi.c (cp_abi_completer): New function.
(_initialize_cp_abi): Set completer for "set cp-abi".
2013-01-17 Tom Tromey <tromey@redhat.com>
* mem-break.c: Remove obsolete comment.

View File

@ -314,6 +314,27 @@ set_cp_abi_cmd (char *args, int from_tty)
error (_("Could not find \"%s\" in ABI list"), args);
}
/* A completion function for "set cp-abi". */
static VEC (char_ptr) *
cp_abi_completer (struct cmd_list_element *ignore,
char *text, char *word)
{
static const char **cp_abi_names;
if (cp_abi_names == NULL)
{
int i;
cp_abi_names = XNEWVEC (const char *, num_cp_abis + 1);
for (i = 0; i < num_cp_abis; ++i)
cp_abi_names[i] = cp_abis[i]->shortname;
cp_abis[i] = NULL;
}
return complete_on_enum (cp_abi_names, text, word);
}
/* Show the currently selected C++ ABI. */
static void
@ -334,13 +355,16 @@ extern initialize_file_ftype _initialize_cp_abi; /* -Wmissing-prototypes */
void
_initialize_cp_abi (void)
{
struct cmd_list_element *c;
register_cp_abi (&auto_cp_abi);
switch_to_cp_abi ("auto");
add_cmd ("cp-abi", class_obscure, set_cp_abi_cmd, _("\
c = add_cmd ("cp-abi", class_obscure, set_cp_abi_cmd, _("\
Set the ABI used for inspecting C++ objects.\n\
\"set cp-abi\" with no arguments will list the available ABIs."),
&setlist);
&setlist);
set_cmd_completer (c, cp_abi_completer);
add_cmd ("cp-abi", class_obscure, show_cp_abi_cmd,
_("Show the ABI used for inspecting C++ objects."),

View File

@ -1,3 +1,7 @@
2013-01-17 Tom Tromey <tromey@redhat.com>
* gdb.base/completion.exp: Add "set cp-abi" completion test.
2013-01-17 Pedro Alves <palves@redhat.com>
Merge dg-extract-results.sh from upstream (svn 195224).

View File

@ -710,6 +710,9 @@ gdb_test "complete ptype union some_" "ptype union some_union"
gdb_test "complete set gnutarget aut" "set gnutarget auto"
gdb_test "complete set cp-abi aut" "set cp-abi auto"
# Restore globals modified in this test...
set timeout $oldtimeout1