diff options
author | Julian Brown <julian@codesourcery.com> | 2005-01-05 18:53:08 +0000 |
---|---|---|
committer | Paul Brook <pbrook@gcc.gnu.org> | 2005-01-05 18:53:08 +0000 |
commit | 3dd7ab650554cd5e18c090fab7d6c309e522dd55 (patch) | |
tree | 10a05943ee24b032de6268a06111c9d7c1650f28 | |
parent | 59d8fe27225bbdeb958692a320caf77eb8fc9f17 (diff) | |
download | gcc-3dd7ab650554cd5e18c090fab7d6c309e522dd55.zip gcc-3dd7ab650554cd5e18c090fab7d6c309e522dd55.tar.gz gcc-3dd7ab650554cd5e18c090fab7d6c309e522dd55.tar.bz2 |
arm.c (arm_return_in_memory): Treat complex types as aggregates for AAPCS ABIs.
2004-01-05 Julian Brown <julian@codesourcery.com>
* config/arm/arm.c (arm_return_in_memory): Treat complex types
as aggregates for AAPCS ABIs.
From-SVN: r92963
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/arm/arm.c | 6 |
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 442e06d..39da29d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index 77eec30..6582021 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -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); |