mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-17 16:05:56 +08:00
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
This commit is contained in:
@ -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. */
|
||||
|
Reference in New Issue
Block a user