aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZack Weinberg <zack@codesourcery.com>2001-12-03 18:47:44 +0000
committerZack Weinberg <zack@gcc.gnu.org>2001-12-03 18:47:44 +0000
commit52acbdcba982a18a35bb5309e6812b324f04da79 (patch)
tree76f0e72c54702203107fbef538ff770d1d8ce664
parent97d521024f77c2b5911aaf44d6a6edbc49ccf91a (diff)
downloadgcc-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/ChangeLog5
-rw-r--r--gcc/config/rs6000/rs6000.h10
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