binutils-gdb/gdb/compile
Pedro Alves e71585ffe2 Use gdb:array_view in call_function_by_hand & friends
This replaces a few uses of pointer+length with gdb::array_view, in
call_function_by_hand and related code.

Unfortunately, due to -Wnarrowing, there are places where we can't
brace-initialize an gdb::array_view without an ugly-ish cast.  To
avoid the cast, this patch introduces a gdb::make_array_view function.
Unit tests included.

This patch in isolation may not look so interesting, due to
gdb::make_array_view uses, but I think it's still worth it.  Some of
the gdb::make_array_view calls disappear down the series, and others
could be eliminated with more (non-trivial) gdb::array_view
detangling/conversion (e.g. code around eval_call).  See this as a "we
have to start somewhere" patch.

gdb/ChangeLog:
2018-11-21  Pedro Alves  <palves@redhat.com>

	* ada-lang.c (ada_evaluate_subexp): Adjust to pass an array_view.
	* common/array-view.h (make_array_view): New.
	* compile/compile-object-run.c (compile_object_run): Adjust to
	pass an array_view.
	* elfread.c (elf_gnu_ifunc_resolve_addr): Adjust.
	* eval.c (eval_call): Adjust to pass an array_view.
	(evaluate_subexp_standard): Adjust to pass an array_view.
	* gcore.c (call_target_sbrk): Adjust to pass an array_view.
	* guile/scm-value.c (gdbscm_value_call): Likewise.
	* infcall.c (push_dummy_code): Replace pointer + size parameters
	with an array_view parameter.
	(call_function_by_hand, call_function_by_hand_dummy): Likewise and
	adjust.
	* infcall.h: Include "common/array-view.h".
	(call_function_by_hand, call_function_by_hand_dummy): Replace
	pointer + size parameters with an array_view parameter.
	* linux-fork.c (inferior_call_waitpid): Adjust to use array_view.
	* linux-tdep.c (linux_infcall_mmap): Likewise.
	* objc-lang.c (lookup_objc_class, lookup_child_selector)
	(value_nsstring, print_object_command): Likewise.
	* python/py-value.c (valpy_call): Likewise.
	* rust-lang.c (rust_evaluate_funcall): Likewise.
	* spu-tdep.c (flush_ea_cache): Likewise.
	* valarith.c (value_x_binop, value_x_unop): Likewise.
	* valops.c (value_allocate_space_in_inferior): Likewise.
	* unittests/array-view-selftests.c (run_tests): Add
	gdb::make_array_view test.
2018-11-21 11:55:11 +00:00
..
compile-c-support.c compile: Remove non-const reference parameters 2018-09-06 13:48:15 +01:00
compile-c-symbols.c compile: Remove non-const reference parameters 2018-09-06 13:48:15 +01:00
compile-c-types.c compile: Remove non-const reference parameters 2018-09-06 13:48:15 +01:00
compile-c.h compile: Remove non-const reference parameters 2018-09-06 13:48:15 +01:00
compile-cplus-symbols.c compile: Remove non-const reference parameters 2018-09-06 13:48:15 +01:00
compile-cplus-types.c Fix use-after-move in compile/compile-cplus-types.c 2018-09-17 13:11:07 -04:00
compile-cplus.h compile: Remove non-const reference parameters 2018-09-06 13:48:15 +01:00
compile-internal.h compile: Remove non-const reference parameters 2018-09-06 13:48:15 +01:00
compile-loc2c.c compile: Remove non-const reference parameters 2018-09-06 13:48:15 +01:00
compile-object-load.c Remove remaining cleanups from compile-object-load.c 2018-09-18 10:18:04 -06:00
compile-object-load.h Remove munmap_listp_free_cleanup 2018-09-18 10:18:04 -06:00
compile-object-run.c Use gdb:array_view in call_function_by_hand & friends 2018-11-21 11:55:11 +00:00
compile-object-run.h Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
compile.c Import mkdtemp gnulib module, fix mingw build 2018-11-01 15:41:43 -04:00
compile.h python: Make gdb.execute("show commands") work (PR 23669) 2018-09-17 08:26:24 -04:00
gcc-c-plugin.h Add a C++ wrapper for GCC C plug-in 2018-08-10 11:14:25 -07:00
gcc-cp-plugin.h C++ compile support 2018-08-29 15:12:24 -07:00