compile: Remove non-const reference parameters
authorSimon Marchi <simon.marchi@ericsson.com>
Thu, 6 Sep 2018 12:48:10 +0000 (13:48 +0100)
committerSimon Marchi <simon.marchi@ericsson.com>
Thu, 6 Sep 2018 12:48:15 +0000 (13:48 +0100)
commitd82b3862f1218134f5301ed990c6db48fcb82b2f
tree1eff687fcebb43edc1cf15603fbfe534ff11a8c6
parentcc5a5ae5b7ea576bb8bf4bbebeaa70366851eacd
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
15 files changed:
gdb/ChangeLog
gdb/compile/compile-c-support.c
gdb/compile/compile-c-symbols.c
gdb/compile/compile-c-types.c
gdb/compile/compile-c.h
gdb/compile/compile-cplus-symbols.c
gdb/compile/compile-cplus-types.c
gdb/compile/compile-cplus.h
gdb/compile/compile-internal.h
gdb/compile/compile-loc2c.c
gdb/compile/compile.c
gdb/compile/compile.h
gdb/dwarf2loc.c
gdb/dwarf2loc.h
gdb/symtab.h