OSDN Git Service

2004-01-05 Julian Brown <julian@codesourcery.com>
authorpbrook <pbrook@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 5 Jan 2005 18:53:08 +0000 (18:53 +0000)
committerpbrook <pbrook@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 5 Jan 2005 18:53:08 +0000 (18:53 +0000)
* config/arm/arm.c (arm_return_in_memory): Treat complex types
as aggregates for AAPCS ABIs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@92963 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/arm/arm.c

index 442e06d..39da29d 100644 (file)
@@ -1,3 +1,8 @@
+2004-01-05  Julian Brown  <julian@codesourcery.com>
+
+       * config/arm/arm.c (arm_return_in_memory): Treat complex types
+       as aggregates for AAPCS ABIs.
+
 2005-01-05  Stan Shebs  <shebs@apple.com>
 
        * unwind-dw2-fde-darwin.c (examine_objects): Use 64-bit
index 77eec30..6582021 100644 (file)
@@ -2296,8 +2296,10 @@ arm_return_in_memory (tree type)
 {
   HOST_WIDE_INT size;
 
-  if (!AGGREGATE_TYPE_P (type))
-    /* All simple types are returned in registers.  */
+  if (!AGGREGATE_TYPE_P (type) &&
+      !(TARGET_AAPCS_BASED && TREE_CODE (type) == COMPLEX_TYPE))
+    /* All simple types are returned in registers.
+       For AAPCS, complex types are treated the same as aggregates.  */
     return 0;
 
   size = int_size_in_bytes (type);