2004-06-20 Andrew Cagney <cagney@gnu.org>

* gdbarch.sh (RETURN_VALUE): Default to legacy_return_value.
	* gdbarch.h, gdbarch.c: Re-generate.
	* Makefile.in (arch-utils.o): Update dependencies.
	* values.c (using_struct_return): Move code calling
	USE_STRUCT_CONVENTION to legacy_return_value, simplify.
	* stack.c (return_command): Move code calling STORE_RETURN_VALUE
	to legacy_return_value, simplify.
	* infcmd.c (print_return_value): Move code calling
	DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS and EXTRACT_RETURN_VALUE
	to legacy_return_value, simplify.
	* infcall.c (call_function_by_hand): Move code calling
	EXTRACT_RETURN_VALUE to legacy_return_value, simplify.
	* arch-utils.c: Update copyright.  Include "gdbcore.h".
	(legacy_return_value): New function.
	* arch-utils.h: Update copyright.
	(legacy_return_value): Declare.
This commit is contained in:
Andrew Cagney
2004-06-20 18:10:14 +00:00
parent b5622e8d3c
commit 750eb019f1
11 changed files with 99 additions and 80 deletions

View File

@ -939,7 +939,7 @@ the function call).", name);
"struct return convention", check that PUSH_DUMMY_CALL isn't
playing tricks. */
retval = value_at (value_type, struct_addr, NULL);
else if (gdbarch_return_value_p (current_gdbarch))
else
{
/* This code only handles "register convention". */
retval = allocate_value (value_type);
@ -950,15 +950,6 @@ the function call).", name);
VALUE_CONTENTS_RAW (retval) /*read*/,
NULL /*write*/);
}
else
{
/* NOTE: cagney/2003-10-20: Unlike "gdbarch_return_value", the
EXTRACT_RETURN_VALUE and DEPRECATED_USE_STRUCT_CONVENTION
methods do not handle the edge case of a function returning
a small structure / union in registers. */
retval = allocate_value (value_type);
EXTRACT_RETURN_VALUE (value_type, retbuf, VALUE_CONTENTS_RAW (retval));
}
do_cleanups (retbuf_cleanup);
return retval;
}