diff options
author | Tom Tromey <tom@tromey.com> | 2018-02-06 01:02:00 +0100 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2018-02-08 11:46:55 -0700 |
commit | f6c2623eb8ac7296b6d7a76657394272a71f5aee (patch) | |
tree | 7a83749c7e88dc681929f784c2896dc369aa2d1a /gdb/symtab.c | |
parent | 8ce47547b34fddec16d1ccd801f025a56976af95 (diff) | |
download | gdb-f6c2623eb8ac7296b6d7a76657394272a71f5aee.zip gdb-f6c2623eb8ac7296b6d7a76657394272a71f5aee.tar.gz gdb-f6c2623eb8ac7296b6d7a76657394272a71f5aee.tar.bz2 |
Return unique_xmalloc_ptr from macro scope functions
This changes the macro scope functions (sal_macro_scope,
user_macro_scope, and default_macro_scope) to return a
unique_xmalloc_ptr, then fixes up the users. This allowed for the
removal of several cleanups.
2018-02-08 Tom Tromey <tom@tromey.com>
* symtab.c (default_collect_symbol_completion_matches_break_on):
Use unique_xmalloc_ptr.
* macroscope.h: (sal_macro_scope, user_macro_scope)
(default_macro_scope): Return unique_xmalloc_ptr.
* macroscope.c (sal_macro_scope, user_macro_scope)
(default_macro_scope): Return unique_xmalloc_ptr.
* macroexp.h (macro_expand, macro_expand_once): Return
unique_xmalloc_ptr.
* macroexp.c (macro_expand, macro_expand_once): Return
unique_xmalloc_ptr.
* macrocmd.c (macro_expand_command, macro_expand_once_command)
(info_macro_command, info_macros_command): Use
unique_xmalloc_ptr.
* compile/compile-c-support.c (write_macro_definitions): Use
unique_xmalloc_ptr.
* c-exp.y (c_parse): Use unique_xmalloc_ptr.
Diffstat (limited to 'gdb/symtab.c')
-rw-r--r-- | gdb/symtab.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/gdb/symtab.c b/gdb/symtab.c index 81f4fc9..0fd3f3a 100644 --- a/gdb/symtab.c +++ b/gdb/symtab.c @@ -5154,7 +5154,7 @@ default_collect_symbol_completion_matches_break_on if (current_language->la_macro_expansion == macro_expansion_c && code == TYPE_CODE_UNDEF) { - struct macro_scope *scope; + gdb::unique_xmalloc_ptr<struct macro_scope> scope; /* This adds a macro's name to the current completion list. */ auto add_macro_name = [&] (const char *macro_name, @@ -5175,11 +5175,8 @@ default_collect_symbol_completion_matches_break_on completion time. */ scope = default_macro_scope (); if (scope) - { - macro_for_each_in_scope (scope->file, scope->line, - add_macro_name); - xfree (scope); - } + macro_for_each_in_scope (scope->file, scope->line, + add_macro_name); /* User-defined macros are always visible. */ macro_for_each (macro_user_macros, add_macro_name); |