aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Law <law@gcc.gnu.org>1994-11-28 22:43:47 -0700
committerJeff Law <law@gcc.gnu.org>1994-11-28 22:43:47 -0700
commit451d86c2931fd9529ae0274937aeb5c75dfb4498 (patch)
treebe4c1912d24ef5382cc11baf66ee86dfac2bbe9f
parent694b6b6ddb125e4a56b57cac4d1bffb00675d948 (diff)
downloadgcc-451d86c2931fd9529ae0274937aeb5c75dfb4498.zip
gcc-451d86c2931fd9529ae0274937aeb5c75dfb4498.tar.gz
gcc-451d86c2931fd9529ae0274937aeb5c75dfb4498.tar.bz2
pa.h (DEFAULT_PCC_STRUCT_RETURN): Define as zero.
* pa.h (DEFAULT_PCC_STRUCT_RETURN): Define as zero. (RETURN_IN_MEMORY): Only large structs (>8 bytes) and addressable structs should be returned in memory. ci -u calls.c From-SVN: r8573
-rw-r--r--gcc/config/pa/pa.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h
index 0c9a217..d89e6de 100644
--- a/gcc/config/pa/pa.h
+++ b/gcc/config/pa/pa.h
@@ -349,7 +349,7 @@ do { \
Reg 23-26 = Temporary/Parameter Registers
Reg 27 = Global Data Pointer (hp)
Reg 28 = Temporary/???/Return Value register
- Reg 29 = Temporary/Static Chain/Return Value register
+ Reg 29 = Temporary/Static Chain/Return Value register #2
Reg 30 = stack pointer
Reg 31 = Temporary/Millicode Return Pointer (hp)
@@ -530,8 +530,9 @@ do { \
#define INIT_EXPANDERS hppa_save_pic_table_rtx = 0;
/* SOM ABI says that objects larger than 64 bits are returned in memory. */
+#define DEFAULT_PCC_STRUCT_RETURN 0
#define RETURN_IN_MEMORY(TYPE) \
- (TYPE_MODE (TYPE) == BLKmode || int_size_in_bytes (TYPE) > 8)
+ (int_size_in_bytes (TYPE) > 8 || TREE_ADDRESSABLE (TYPE))
/* Register in which address to store a structure value
is passed to a function. */