diff options
author | Doug Evans <dje@gnu.org> | 1993-03-12 00:10:21 +0000 |
---|---|---|
committer | Doug Evans <dje@gnu.org> | 1993-03-12 00:10:21 +0000 |
commit | e14fa9c45a5fd9b4be62dedd78daa5559f4c83fc (patch) | |
tree | db4aa309ff091e04ba8f5df5c60b09e38c6ea2db /gcc/config/mips/mips.h | |
parent | ac07e0665d5044978a404837c22bfbf4adbe7ffa (diff) | |
download | gcc-e14fa9c45a5fd9b4be62dedd78daa5559f4c83fc.zip gcc-e14fa9c45a5fd9b4be62dedd78daa5559f4c83fc.tar.gz gcc-e14fa9c45a5fd9b4be62dedd78daa5559f4c83fc.tar.bz2 |
* (RETURN_IN_MEMORY): Handle BLKmode values.
From-SVN: r3709
Diffstat (limited to 'gcc/config/mips/mips.h')
-rw-r--r-- | gcc/config/mips/mips.h | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/gcc/config/mips/mips.h b/gcc/config/mips/mips.h index adc3634..9cceff2 100644 --- a/gcc/config/mips/mips.h +++ b/gcc/config/mips/mips.h @@ -1759,11 +1759,12 @@ extern struct mips_frame_info current_frame_info; always returned. Here TYPE will be a C expression of type `tree', representing the data type of the value. - Note that values of mode `BLKmode' are returned in memory - regardless of this macro. Also, the option `-fpcc-struct-return' + Note that values of mode `BLKmode' must 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 0. + definition to be used, whose value is the constant 1 for BLKmode + values, and 0 otherwise. GCC normally converts 1 byte structures into chars, 2 byte structs into shorts, and 4 byte structs into ints, and returns @@ -1771,7 +1772,8 @@ extern struct mips_frame_info current_frame_info; to give us MIPS cc compatibility. */ #define RETURN_IN_MEMORY(TYPE) \ - ((TREE_CODE (TYPE) == RECORD_TYPE) || (TREE_CODE (TYPE) == UNION_TYPE)) + ((TYPE_MODE (TYPE) == BLKmode) \ + || (TREE_CODE (TYPE) == RECORD_TYPE) || (TREE_CODE (TYPE) == UNION_TYPE)) /* A code distinguishing the floating point format of the target |