summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>2001-12-03 18:47:44 +0000
committerzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>2001-12-03 18:47:44 +0000
commitfa6b68d8578ae23a4655b922df40ece34da54370 (patch)
tree76f0e72c54702203107fbef538ff770d1d8ce664
parent80f738f1d28a6b9e900ea7557a219d34fabd3a4b (diff)
downloadppe42-gcc-fa6b68d8578ae23a4655b922df40ece34da54370.tar.gz
ppe42-gcc-fa6b68d8578ae23a4655b922df40ece34da54370.zip
* rs6000.h (RETURN_IN_MEMORY): Cast result of
int_size_in_bytes to unsigned HOST_WIDEST_INT so that -1 > 8. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47554 138bc75d-0d04-0410-961f-82ee72b054a4
-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 da642a93491..0458f583aec 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 59c0455b5f2..3baf6866f60 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
OpenPOWER on IntegriCloud