diff options
author | John David Anglin <dave@hiauly1.hia.nrc.ca> | 2001-08-17 20:55:50 +0000 |
---|---|---|
committer | John David Anglin <danglin@gcc.gnu.org> | 2001-08-17 20:55:50 +0000 |
commit | 0779eeb2815ca0a74eed65f8f558123e5e953a81 (patch) | |
tree | 7b6e4dbf002cf987823e29b71b8bade74c25da9e /gcc | |
parent | 2f78c311762ab66530c1e0a09ff4fe32a8406023 (diff) | |
download | gcc-0779eeb2815ca0a74eed65f8f558123e5e953a81.zip gcc-0779eeb2815ca0a74eed65f8f558123e5e953a81.tar.gz gcc-0779eeb2815ca0a74eed65f8f558123e5e953a81.tar.bz2 |
pa.h (RETURN_IN_MEMORY): Return types with a size that is varable or larger than an integer in memory.
* pa.h (RETURN_IN_MEMORY): Return types with a size that is varable
or larger than an integer in memory.
From-SVN: r44981
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/pa/pa.h | 6 |
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 16296da..cf3ba5e 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 8358e889..fcceaa1 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. */ |