binutils-gdb/gdb/testsuite/lib
Andrew Burgess d7df654955 gdb/fortran: Handle internal function calls
If an convenience function is defined in python (or guile), then
currently this will not work in Fortran, instead the user is given
this message:

  (gdb) set language fortran
  (gdb) p $myfunc (3)
  Cannot perform substring on this type

Compare this to C:

  (gdb) set language c
  (gdb) p $myfunc (3)
  $1 = 1

After this patch we see the same behaviour in both C and Fortran.
I've extended the test to check that all languages can call the
convenience functions - only Fortran was broken.

When calling convenience functions in Fortran we don't need to perform
the same value preparation (passing by pointer) that we would for
calling a native function - passing the real value is fine.

gdb/ChangeLog:

	* eval.c (evaluate_subexp_standard): Handle internal functions
	during Fortran function call handling.

gdb/testsuite/ChangeLog:

	* gdb.python/py-function.exp: Check calling helper function from
	all languages.
	* lib/gdb.exp (gdb_supported_languages): New proc.
2019-04-01 21:41:51 +01:00
..
ada.exp
append_gdb_boards_dir.exp
build-piece.exp
cache.exp
cell.exp
cl_util.c
cl_util.h
compile-support.exp
compiler.c
compiler.cc
completion-support.exp
cp-support.exp
d-support.exp
data-structures.exp
dtrace.exp
dwarf.exp
fortran.exp
future.exp
gdb-guile.exp
gdb-python.exp
gdb-utils.exp
gdb.exp gdb/fortran: Handle internal function calls 2019-04-01 21:41:51 +01:00
gdbserver-support.exp Testsuite: Catch gdbserver socket listen errors 2019-02-28 17:20:53 +00:00
gen-perf-test.exp
go.exp
memory.exp
mi-support.exp
objc.exp
opencl.exp
opencl_hostapp.c
opencl_kernel.cl
pascal.exp
pdtrace.in
perftest.exp
prelink-support.exp
prompt.exp
range-stepping-support.exp
read1.c
rust-support.exp
selftest-support.exp
set_unbuffered_mode.c
trace-support.exp
unbuffer_output.c
valgrind.exp