When a function value's mode is
BLKmode (and in some other
cases), the value is not returned according to
(see section How Scalar Function Values Are Returned). Instead, the caller passes the address of a
block of memory in which the value should be stored. This address
is called the structure value address.
This section describes how to control returning structure values in memory.
tree, representing the data type of the value. Note that values of mode
BLKmodemust be explicitly handled by this macro. Also, the option `-fpcc-struct-return' takes effect regardless of this macro. On most systems, it is possible to leave the macro undefined; this causes a default definition to be used, whose value is the constant 1 for
BLKmodevalues, and 0 otherwise. Do not use this macro to indicate that structures and unions should always be returned in memory. You should instead use
DEFAULT_PCC_STRUCT_RETURNto indicate this.
RETURN_IN_MEMORYmacro. If not defined, this defaults to the value 1.
STRUCT_VALUE_REGNUMshould be the number of that register.
STRUCT_VALUEas an expression returning an RTX for the place where the address is passed. If it returns 0, the address is passed as an "invisible" first argument.
STRUCT_VALUE_INCOMINGas an expression for an RTX for where the called function should find the value. If it should find the value on the stack, define this to create a
memwhich refers to the frame pointer. A definition of 0 means that the address is passed as an "invisible" first argument.