d7df654955
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. |
||
---|---|---|
.. | ||
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 | ||
gdbserver-support.exp | ||
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 |