pa.h (DEFAULT_PCC_STRUCT_RETURN): Define as zero.
authorJeff Law <law@gcc.gnu.org>
Tue, 29 Nov 1994 05:43:47 +0000 (22:43 -0700)
committerJeff Law <law@gcc.gnu.org>
Tue, 29 Nov 1994 05:43:47 +0000 (22:43 -0700)
* 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

gcc/config/pa/pa.h

index 0c9a217a8e8c462de98e99953a1890cca1c1a019..d89e6defa28ce043f8407c0930b8ef8153410fcf 100644 (file)
@@ -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.  */