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:
parent
cc5a5ae5b7
commit
d82b3862f1
15 changed files with 132 additions and 86 deletions
|
@ -247,14 +247,14 @@ operator!= (const compile_scope &lhs, const compile_scope &rhs)
|
|||
/* See description in compile-cplus.h. */
|
||||
|
||||
void
|
||||
compile_cplus_instance::enter_scope (compile_scope &new_scope)
|
||||
compile_cplus_instance::enter_scope (compile_scope &&new_scope)
|
||||
{
|
||||
bool must_push = m_scopes.empty () || m_scopes.back () != new_scope;
|
||||
|
||||
new_scope.m_pushed = must_push;
|
||||
|
||||
/* Save the new scope. */
|
||||
m_scopes.push_back (new_scope);
|
||||
m_scopes.push_back (std::move (new_scope));
|
||||
|
||||
if (must_push)
|
||||
{
|
||||
|
@ -360,7 +360,7 @@ compile_cplus_instance::new_scope (const char *type_name, struct type *type)
|
|||
class, the previous call will give us that type's gcc_type.
|
||||
Upper layers are expecting to get the original type's
|
||||
gcc_type! */
|
||||
get_cached_type (type, scope.m_nested_type);
|
||||
get_cached_type (type, &scope.m_nested_type);
|
||||
return scope;
|
||||
}
|
||||
}
|
||||
|
@ -526,7 +526,7 @@ compile_cplus_convert_typedef (compile_cplus_instance *instance,
|
|||
= compile_cplus_instance::decl_name (TYPE_NAME (type));
|
||||
|
||||
/* Make sure the scope for this type has been pushed. */
|
||||
instance->enter_scope (scope);
|
||||
instance->enter_scope (std::move (scope));
|
||||
|
||||
/* Convert the typedef's real type. */
|
||||
gcc_type typedef_type = instance->convert_type (check_typedef (type));
|
||||
|
@ -822,7 +822,7 @@ compile_cplus_convert_struct_or_union (compile_cplus_instance *instance,
|
|||
}
|
||||
|
||||
/* Push all scopes. */
|
||||
instance->enter_scope (scope);
|
||||
instance->enter_scope (std::move (scope));
|
||||
|
||||
/* First we create the resulting type and enter it into our hash
|
||||
table. This lets recursive types work. */
|
||||
|
@ -928,7 +928,7 @@ compile_cplus_convert_enum (compile_cplus_instance *instance, struct type *type,
|
|||
= compile_cplus_instance::decl_name (TYPE_NAME (type));
|
||||
|
||||
/* Push all scopes. */
|
||||
instance->enter_scope (scope);
|
||||
instance->enter_scope (std::move (scope));
|
||||
|
||||
gcc_type int_type
|
||||
= instance->plugin ().get_int_type (TYPE_UNSIGNED (type),
|
||||
|
@ -1109,7 +1109,7 @@ compile_cplus_convert_namespace (compile_cplus_instance *instance,
|
|||
= compile_cplus_instance::decl_name (TYPE_NAME (type));
|
||||
|
||||
/* Push scope. */
|
||||
instance->enter_scope (scope);
|
||||
instance->enter_scope (std::move (scope));
|
||||
|
||||
/* Convert this namespace. */
|
||||
instance->plugin ().push_namespace (name.get ());
|
||||
|
@ -1211,7 +1211,7 @@ compile_cplus_instance::convert_type (struct type *type,
|
|||
{
|
||||
/* Check if TYPE has already been converted. */
|
||||
gcc_type result;
|
||||
if (get_cached_type (type, result))
|
||||
if (get_cached_type (type, &result))
|
||||
return result;
|
||||
|
||||
/* It is the first time this type has been seen -- convert it
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue