aboutsummaryrefslogtreecommitdiff
path: root/gdb/infcall.c
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>2003-10-02 04:40:58 +0000
committerAndrew Cagney <cagney@redhat.com>2003-10-02 04:40:58 +0000
commit5fe830e4fe7e59c595fac7082edb4954e17a7688 (patch)
tree55f991d8a7cf010be108660dd195484028959b29 /gdb/infcall.c
parentd810ef463692eb22404564fffbcbbafe0adc7891 (diff)
downloadgdb-5fe830e4fe7e59c595fac7082edb4954e17a7688.zip
gdb-5fe830e4fe7e59c595fac7082edb4954e17a7688.tar.gz
gdb-5fe830e4fe7e59c595fac7082edb4954e17a7688.tar.bz2
2003-10-01 Andrew Cagney <cagney@redhat.com>
* value.h (register_value_being_returned): Declare. Replace "value_being_returned". * infcall.c (call_function_by_hand): Use register_value_being_returned. * infcmd.c (print_return_value): Call "register_value_being_returned", handle struct return locally. * values.c (register_value_being_returned): New function. Replace "value_being_returned".
Diffstat (limited to 'gdb/infcall.c')
-rw-r--r--gdb/infcall.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/gdb/infcall.c b/gdb/infcall.c
index 40dbb4b..f9cb87e 100644
--- a/gdb/infcall.c
+++ b/gdb/infcall.c
@@ -1101,12 +1101,9 @@ the function call).", name);
}
else
{
- /* This call to value_being_returned is never made when the
- function uses "struct return convention". Hence, pass "0"
- instead of STRUCT_RETURN. Besides, VALUE_TYPE, in
- combination with RETURN_VALUE() (nee USE_STRUCT_CONVENTION)
- can be used to re-construct the value of STRUCT_RETURN. */
- struct value *retval = value_being_returned (value_type, retbuf, 0);
+ /* The non-register case was handled above. */
+ struct value *retval = register_value_being_returned (value_type,
+ retbuf);
do_cleanups (retbuf_cleanup);
return retval;
}