completion_list_add_name wrapper functions

Replace macros with functions.

gdb/ChangeLog:
2017-06-27  Pedro Alves  <palves@redhat.com>

	* symtab.c (COMPLETION_LIST_ADD_SYMBOL)
	(MCOMPLETION_LIST_ADD_SYMBOL): Delete macros, replace with ...
	(completion_list_add_symbol, completion_list_add_msymbol):
	... these new functions.
	(add_symtab_completions)
	(default_make_symbol_completion_list_break_on_1): Adjust.
This commit is contained in:
Pedro Alves 2017-06-27 16:32:57 +01:00
parent 23732b1e32
commit 6da67eb10d
2 changed files with 35 additions and 14 deletions

View File

@ -1,3 +1,12 @@
2017-06-27 Pedro Alves <palves@redhat.com>
* symtab.c (COMPLETION_LIST_ADD_SYMBOL)
(MCOMPLETION_LIST_ADD_SYMBOL): Delete macros, replace with ...
(completion_list_add_symbol, completion_list_add_msymbol):
... these new functions.
(add_symtab_completions)
(default_make_symbol_completion_list_break_on_1): Adjust.
2017-06-27 Pedro Alves <palves@redhat.com>
* objfiles.c (get_objfile_bfd_data): Call bfd_alloc instead of

View File

@ -4837,18 +4837,8 @@ do_free_completion_list (void *list)
free_completion_list ((VEC (char_ptr) **) list);
}
/* Helper routine for make_symbol_completion_list. */
static VEC (char_ptr) *return_val;
#define COMPLETION_LIST_ADD_SYMBOL(symbol, sym_text, len, text, word) \
completion_list_add_name \
(SYMBOL_NATURAL_NAME (symbol), (sym_text), (len), (text), (word))
#define MCOMPLETION_LIST_ADD_SYMBOL(symbol, sym_text, len, text, word) \
completion_list_add_name \
(MSYMBOL_NATURAL_NAME (symbol), (sym_text), (len), (text), (word))
/* Tracker for how many unique completions have been generated. Used
to terminate completion list generation early if the list has grown
to a size so large as to be useless. This helps avoid GDB seeming
@ -4918,6 +4908,28 @@ completion_list_add_name (const char *symname,
}
}
/* completion_list_add_name wrapper for struct symbol. */
static void
completion_list_add_symbol (symbol *sym,
const char *sym_text, int sym_text_len,
const char *text, const char *word)
{
completion_list_add_name (SYMBOL_NATURAL_NAME (sym),
sym_text, sym_text_len, text, word);
}
/* completion_list_add_name wrapper for struct minimal_symbol. */
static void
completion_list_add_msymbol (minimal_symbol *sym,
const char *sym_text, int sym_text_len,
const char *text, const char *word)
{
completion_list_add_name (MSYMBOL_NATURAL_NAME (sym),
sym_text, sym_text_len, text, word);
}
/* ObjC: In case we are completing on a selector, look as the msymbol
again and feed all the selectors into the mill. */
@ -5068,7 +5080,7 @@ add_symtab_completions (struct compunit_symtab *cust,
if (code == TYPE_CODE_UNDEF
|| (SYMBOL_DOMAIN (sym) == STRUCT_DOMAIN
&& TYPE_CODE (SYMBOL_TYPE (sym)) == code))
COMPLETION_LIST_ADD_SYMBOL (sym,
completion_list_add_symbol (sym,
sym_text, sym_text_len,
text, word);
}
@ -5179,7 +5191,7 @@ default_make_symbol_completion_list_break_on_1 (const char *text,
ALL_MSYMBOLS (objfile, msymbol)
{
QUIT;
MCOMPLETION_LIST_ADD_SYMBOL (msymbol, sym_text, sym_text_len, text,
completion_list_add_msymbol (msymbol, sym_text, sym_text_len, text,
word);
completion_list_objc_symbol (msymbol, sym_text, sym_text_len, text,
@ -5226,14 +5238,14 @@ default_make_symbol_completion_list_break_on_1 (const char *text,
{
if (code == TYPE_CODE_UNDEF)
{
COMPLETION_LIST_ADD_SYMBOL (sym, sym_text, sym_text_len, text,
completion_list_add_symbol (sym, sym_text, sym_text_len, text,
word);
completion_list_add_fields (sym, sym_text, sym_text_len, text,
word);
}
else if (SYMBOL_DOMAIN (sym) == STRUCT_DOMAIN
&& TYPE_CODE (SYMBOL_TYPE (sym)) == code)
COMPLETION_LIST_ADD_SYMBOL (sym, sym_text, sym_text_len, text,
completion_list_add_symbol (sym, sym_text, sym_text_len, text,
word);
}