diff options
author | Simon Marchi <simon.marchi@ericsson.com> | 2018-09-06 13:48:10 +0100 |
---|---|---|
committer | Simon Marchi <simon.marchi@ericsson.com> | 2018-09-06 13:48:15 +0100 |
commit | d82b3862f1218134f5301ed990c6db48fcb82b2f (patch) | |
tree | 1eff687fcebb43edc1cf15603fbfe534ff11a8c6 /gdb/compile/compile-cplus-symbols.c | |
parent | cc5a5ae5b7ea576bb8bf4bbebeaa70366851eacd (diff) | |
download | binutils-d82b3862f1218134f5301ed990c6db48fcb82b2f.zip binutils-d82b3862f1218134f5301ed990c6db48fcb82b2f.tar.gz binutils-d82b3862f1218134f5301ed990c6db48fcb82b2f.tar.bz2 |
compile: Remove non-const reference parameters
As mentioned here:
https://sourceware.org/gdb/wiki/Internals%20GDB-C-Coding-Standards#Avoid_non-const_reference_parameters.2C_use_pointers_instead
we prefer to avoid non-const references. This patch changes the
non-const references I could find in the compile/ directory, either by
making them rvalue-reference (&&) or changing them to pointers.
I'd say all the changes are pretty obvious, except the one in
compile_cplus_instance::enter_scope which might require more attention.
gdb/ChangeLog:
* compile/compile-c.h (generate_c_for_variable_locations):
Change reference to pointer.
* compile/compile-c-support.c (compile_program) <compute>:
Likewise.
* compile/compile-c-symbols.c (generate_vla_size): Likewise.
(generate_c_for_for_one_variable): Likewise
(generate_c_for_variable_locations): Likewise
* compile/compile-c-types.c (compile_c_instance::convert_type):
Likewise
* compile/compile-cplus-symbols.c (convert_one_symbol):
std::move the scope passed to enter_scope.
* compile/compile-cplus-types.c
(compile_cplus_instance::enter_scope): Make parameter
rvalue-reference.
(compile_cplus_instance::new_scope): Change reference to
pointer.
(compile_cplus_instance::convert_type): Likewise
(compile_cplus_convert_typedef): std::move the scope passed to
enter_scope.
(compile_cplus_convert_struct_or_union): Likewise.
(compile_cplus_convert_enum): Likewise.
(compile_cplus_convert_namespace): Likewise.
* compile/compile-cplus.h (compile_cplus_instance)
<enter_scope>: Make parameter rvalue-reference.
* compile/compile-internal.h (compile_instance)
<get_cached_type>: Likewise
* compile/compile-loc2c.c (push): Likewise
(pushf): Likewise
(unary): Likewise
(binary): Likewise
(print_label): Likewise
(pushf_register_address): Likewise
(pushf_register): Likewise
(do_compile_dwarf_expr_to_c): Likewise
(compile_dwarf_expr_to_c): Likewise
(compile_dwarf_bounds_to_c): Likewise
* compile/compile.c (compile_instance::get_cached_type):
Likewise
* compile/compile.h (compile_dwarf_expr_to_c): Likewise.
(compile_dwarf_bounds_to_c): Likewise
* dwarf2loc.c (locexpr_generate_c_location): Likewise.
(dwarf2_compile_property_to_c): Likewise
* dwarf2loc.h (dwarf2_compile_property_to_c): Likewise
* symtab.h (struct symbol_computed_ops) <generate_c_location>:
Likewise
Diffstat (limited to 'gdb/compile/compile-cplus-symbols.c')
-rw-r--r-- | gdb/compile/compile-cplus-symbols.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/gdb/compile/compile-cplus-symbols.c b/gdb/compile/compile-cplus-symbols.c index 234b977..6acbd9a 100644 --- a/gdb/compile/compile-cplus-symbols.c +++ b/gdb/compile/compile-cplus-symbols.c @@ -184,13 +184,11 @@ convert_one_symbol (compile_cplus_instance *instance, /* Don't emit local variable decls for a raw expression. */ if (instance->scope () != COMPILE_I_RAW_SCOPE || symbol_name == nullptr) { - compile_scope scope; - /* For non-local symbols, create/push a new scope so that the symbol is properly scoped to the plug-in. */ if (!is_local) { - scope + compile_scope scope = instance->new_scope (SYMBOL_NATURAL_NAME (sym.symbol), SYMBOL_TYPE (sym.symbol)); if (scope.nested_type () != GCC_TYPE_NONE) @@ -200,7 +198,7 @@ convert_one_symbol (compile_cplus_instance *instance, return; } - instance->enter_scope (scope); + instance->enter_scope (std::move (scope)); } /* Get the `raw' name of the symbol. */ |