aboutsummaryrefslogtreecommitdiff
path: root/gdb/defs.h
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>2003-10-20 15:38:02 +0000
committerAndrew Cagney <cagney@redhat.com>2003-10-20 15:38:02 +0000
commit92ad9cd90faf2b59f2434c8f706902df65ee5c2d (patch)
treee6360c92e84b1728ff0f1a86b0ceaba8468e3c9f /gdb/defs.h
parent198beae2cfaf8ea8bfd554ef8d3d3feeabc33ed7 (diff)
downloadfsf-binutils-gdb-92ad9cd90faf2b59f2434c8f706902df65ee5c2d.zip
fsf-binutils-gdb-92ad9cd90faf2b59f2434c8f706902df65ee5c2d.tar.gz
fsf-binutils-gdb-92ad9cd90faf2b59f2434c8f706902df65ee5c2d.tar.bz2
2003-10-20 Andrew Cagney <cagney@redhat.com>
* values.c (register_value_being_returned): Update comments. Use "gdbarch_return_value" when available. (using_struct_return): Ditto. (set_return_value): Ditto. Use "gdbarch_return_value" when available.. Print a warning, and not an error, when an unhandled return type is encountered. * infcmd.c: Include "gdb_assert.h". (print_return_value): When gdbarch_return_value_p, and using struct return, assume that the value is not available. * defs.h (return_value_convention): Define. * gdbarch.sh (gdbarch_return_value): New predicate method. * gdbarch.h, gdbarch.c: Re-generate * ppc-sysv-tdep.c (return_value_convention): Delete definition. Index: doc/ChangeLog 2003-10-20 Andrew Cagney <cagney@redhat.com> * gdbint.texinfo (Target Architecture Definition): Document gdbarch_return_value. Add cross references from USE_STRUCT_CONVENTION, EXTRACT_RETURN_VALUE, and STORE_RETURN_VALUE, and from/to EXTRACT_STRUCT_VALUE_ADDRESS.
Diffstat (limited to 'gdb/defs.h')
-rw-r--r--gdb/defs.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/gdb/defs.h b/gdb/defs.h
index 696ee5b..c7713b9 100644
--- a/gdb/defs.h
+++ b/gdb/defs.h
@@ -230,6 +230,21 @@ enum auto_boolean
AUTO_BOOLEAN_AUTO
};
+/* Potential ways that a function can return a value of a given type. */
+enum return_value_convention
+{
+ /* Where the return value has been squeezed into one or more
+ registers. */
+ RETURN_VALUE_REGISTER_CONVENTION,
+ /* Commonly known as the "struct return convention". The caller
+ passes an additional hidden first parameter to the caller. That
+ parameter contains the address at which the value being returned
+ should be stored. While typically, and historically, used for
+ large structs, this is convention is applied to values of many
+ different types. */
+ RETURN_VALUE_STRUCT_CONVENTION
+};
+
/* the cleanup list records things that have to be undone
if an error happens (descriptors to be closed, memory to be freed, etc.)
Each link in the chain records a function to call and an