binutils-gdb/gdb/python
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
..
lib/gdb Fix output indentation for "info pretty-printers" 2018-11-08 16:17:01 -07:00
py-all-events.def
py-arch.c
py-auto-load.c
py-block.c Return gdbpy_ref from gdb_py_object_from_*longest 2018-11-04 08:01:00 -07:00
py-bpevent.c gdb/python: Use copy-initialization more when possible 2018-08-24 22:57:16 +01:00
py-breakpoint.c Return gdbpy_ref from some Python string functions 2018-11-04 08:01:01 -07:00
py-cmd.c gdb/python: Make cmdpy_completer_helper return gdbpy_ref<> 2018-10-25 12:20:18 +01:00
py-continueevent.c Change thread_to_thread_object to return a new reference 2018-09-16 07:25:57 -06:00
py-event-types.def
py-event.c
py-event.h Change thread_to_thread_object to return a new reference 2018-09-16 07:25:57 -06:00
py-events.h
py-evtregistry.c
py-evts.c
py-exitedevent.c gdb/python: Use copy-initialization more when possible 2018-08-24 22:57:16 +01:00
py-finishbreakpoint.c Use thread_info and inferior pointers more throughout 2018-06-21 17:09:31 +01:00
py-frame.c
py-framefilter.c MI: Fix printing of frame architecture with Python frame filters enabled 2018-08-27 17:12:41 -04:00
py-function.c gdb/python: Make convert_values_to_python return gdbpy_ref<> 2018-10-25 12:20:18 +01:00
py-gdb-readline.c Remove "repeat" argument from command_line_input 2018-08-17 16:39:06 -06:00
py-inferior.c Add Inferior.architecture method 2018-10-06 23:20:55 -06:00
py-infevents.c gdb/python: Use copy-initialization more when possible 2018-08-24 22:57:16 +01:00
py-infthread.c Change thread_to_thread_object to return a new reference 2018-09-16 07:25:57 -06:00
py-instruction.c
py-instruction.h
py-lazy-string.c
py-linetable.c Return gdbpy_ref from gdb_py_object_from_*longest 2018-11-04 08:01:00 -07:00
py-newobjfileevent.c Change objfile_to_objfile_object to return a new reference 2018-09-16 07:25:56 -06:00
py-objfile.c Return gdbpy_ref from some Python string functions 2018-11-04 08:01:01 -07:00
py-param.c Allow setting a parameter to raise gdb.GdbError 2018-09-23 23:15:12 -06:00
py-prettyprint.c Return gdbpy_ref from gdbpy_get_varobj_pretty_printer 2018-11-04 08:01:01 -07:00
py-progspace.c Return gdbpy_ref from some Python string functions 2018-11-04 08:01:01 -07:00
py-record-btrace.c [gdb/python] Fix cpychecker error in recpy_bt_goto 2018-10-05 00:20:07 +02:00
py-record-btrace.h
py-record-full.c
py-record-full.h
py-record.c Use thread_info and inferior pointers more throughout 2018-06-21 17:09:31 +01:00
py-record.h Use thread_info and inferior pointers more throughout 2018-06-21 17:09:31 +01:00
py-ref.h
py-signalevent.c gdb/python: Use copy-initialization more when possible 2018-08-24 22:57:16 +01:00
py-stopevent.c Change thread_to_thread_object to return a new reference 2018-09-16 07:25:57 -06:00
py-stopevent.h
py-symbol.c Update symbol domain and location values for Python 2018-10-06 23:20:55 -06:00
py-symtab.c Return gdbpy_ref from some Python string functions 2018-11-04 08:01:01 -07:00
py-threadevent.c Simplify uses of thread_to_thread_object 2018-09-16 23:36:54 -06:00
py-type.c Return gdbpy_ref from gdb_py_object_from_*longest 2018-11-04 08:01:00 -07:00
py-unwind.c Simple unused variable removals 2018-07-22 13:20:01 -06:00
py-utils.c Return gdbpy_ref from some Python string functions 2018-11-04 08:01:01 -07:00
py-value.c Use gdb:array_view in call_function_by_hand & friends 2018-11-21 11:55:11 +00:00
py-varobj.c Don't steal references in the gdb Python code 2018-09-16 23:48:21 -06:00
py-xmethods.c Change objfile_to_objfile_object to return a new reference 2018-09-16 07:25:56 -06:00
python-config.py configure uses incorrect link order when testing libpython 2018-05-04 10:08:09 -04:00
python-internal.h Return gdbpy_ref from gdbpy_get_varobj_pretty_printer 2018-11-04 08:01:01 -07:00
python.c Return gdbpy_ref from some Python string functions 2018-11-04 08:01:01 -07:00
python.h python: Make gdb.execute("show commands") work (PR 23669) 2018-09-17 08:26:24 -04:00