summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordanglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4>2001-08-17 20:55:50 +0000
committerdanglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4>2001-08-17 20:55:50 +0000
commit9eb5329a77371d6c73106fb7ad74245dffd31fbb (patch)
tree7b6e4dbf002cf987823e29b71b8bade74c25da9e
parent6a3e3d6dbfa5e85db7583c8f56e9f38d7231f75d (diff)
downloadppe42-gcc-9eb5329a77371d6c73106fb7ad74245dffd31fbb.tar.gz
ppe42-gcc-9eb5329a77371d6c73106fb7ad74245dffd31fbb.zip
* pa.h (RETURN_IN_MEMORY): Return types with a size that is varable
or larger than an integer in memory. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@44981 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/pa/pa.h6
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 16296da74cd..cf3ba5e7453 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2001-08-17 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * pa.h (RETURN_IN_MEMORY): Return types with a size that is varable
+ or larger than an integer in memory.
+
2001-08-17 Zack Weinberg <zackw@panix.com>
* system.h: Forward-declare struct rtx_def, struct rtvec_def,
diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h
index 8358e889468..fcceaa13a72 100644
--- a/gcc/config/pa/pa.h
+++ b/gcc/config/pa/pa.h
@@ -518,9 +518,11 @@ extern struct rtx_def *hppa_pic_save_rtx PARAMS ((void));
#define DEFAULT_PCC_STRUCT_RETURN 0
/* SOM ABI says that objects larger than 64 bits are returned in memory.
- PA64 ABI says that objects larger than 128 bits are returned in memory. */
+ PA64 ABI says that objects larger than 128 bits are returned in memory.
+ Note that int_size_in_bytes can return -1 if the size is variable
+ or larger than an integer. */
#define RETURN_IN_MEMORY(TYPE) \
- (TARGET_64BIT ? int_size_in_bytes (TYPE) > 16 : int_size_in_bytes (TYPE) > 8)
+ ((unsigned HOST_WIDE_INT) int_size_in_bytes (TYPE) > (TARGET_64BIT ? 16 : 8))
/* Register in which address to store a structure value
is passed to a function. */
OpenPOWER on IntegriCloud