diff options
author | Zack Weinberg <zack@codesourcery.com> | 2001-12-03 18:47:44 +0000 |
---|---|---|
committer | Zack Weinberg <zack@gcc.gnu.org> | 2001-12-03 18:47:44 +0000 |
commit | 52acbdcba982a18a35bb5309e6812b324f04da79 (patch) | |
tree | 76f0e72c54702203107fbef538ff770d1d8ce664 | |
parent | 97d521024f77c2b5911aaf44d6a6edbc49ccf91a (diff) | |
download | gcc-52acbdcba982a18a35bb5309e6812b324f04da79.zip gcc-52acbdcba982a18a35bb5309e6812b324f04da79.tar.gz gcc-52acbdcba982a18a35bb5309e6812b324f04da79.tar.bz2 |
rs6000.h (RETURN_IN_MEMORY): Cast result of int_size_in_bytes to unsigned HOST_WIDEST_INT so that -1 > 8.
* rs6000.h (RETURN_IN_MEMORY): Cast result of
int_size_in_bytes to unsigned HOST_WIDEST_INT so that -1 > 8.
From-SVN: r47554
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.h | 10 |
2 files changed, 12 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index da642a9..0458f58 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2001-12-03 Zack Weinberg <zack@codesourcery.com> + + * rs6000.h (RETURN_IN_MEMORY): Cast result of + int_size_in_bytes to unsigned HOST_WIDEST_INT so that -1 > 8. + Mon Dec 3 09:18:34 2001 Jeffrey A Law (law@cygnus.com) * mn10200.md (negsf2): Use -0x8000 instead of 0x8000 for diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h index 59c0455..3baf686 100644 --- a/gcc/config/rs6000/rs6000.h +++ b/gcc/config/rs6000/rs6000.h @@ -1486,11 +1486,15 @@ typedef struct rs6000_stack { controls this instead of DEFAULT_ABI; V.4 targets needing backward compatibility can change DRAFT_V4_STRUCT_RET to override the default, and -m switches get the final word. See - rs6000_override_options for more details. */ - + rs6000_override_options for more details. + + int_size_in_bytes returns -1 for variable size objects, which go in + memory always. The cast to unsigned makes -1 > 8. */ + #define RETURN_IN_MEMORY(TYPE) \ (AGGREGATE_TYPE_P (TYPE) && \ - (TARGET_AIX_STRUCT_RET || int_size_in_bytes (TYPE) > 8)) + (TARGET_AIX_STRUCT_RET || \ + (unsigned HOST_WIDEST_INT) int_size_in_bytes (TYPE) > 8)) /* DRAFT_V4_STRUCT_RET defaults off. */ #define DRAFT_V4_STRUCT_RET 0 |