summaryrefslogtreecommitdiff
path: root/libobjc/encoding.c
diff options
context:
space:
mode:
authorpinskia <pinskia@138bc75d-0d04-0410-961f-82ee72b054a4>2004-01-17 19:48:50 +0000
committerpinskia <pinskia@138bc75d-0d04-0410-961f-82ee72b054a4>2004-01-17 19:48:50 +0000
commitd84c6db892405297a439598cc8b79753996dd2a8 (patch)
treea0ab8ee208b07c4e48ee3c5ef3d40bc702369877 /libobjc/encoding.c
parente0a3f3f0baab86b480accb3591d6e39a55c40e49 (diff)
downloadgcc-d84c6db892405297a439598cc8b79753996dd2a8.tar.gz
2004-01-17 Andrew Pinski <pinskia@physics.uc.edu>
PR target/10781 * config/rs6000/rs6000-protos.h (rs6000_special_round_type_align): Prototype. * config/rs6000/rs6000.c (rs6000_special_round_type_align): New function. * config/rs6000/linux64.h (ROUND_TYPE_ALIGN): Use it. * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Likewise. * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Likewise. 2004-01-17 Andrew Pinski <pinskia@physics.uc.edu> PR target/10781 * encoding.c (rs6000_special_round_type_align): Define. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@76043 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libobjc/encoding.c')
-rw-r--r--libobjc/encoding.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/libobjc/encoding.c b/libobjc/encoding.c
index bed0653cff7..17bc8d4e2e1 100644
--- a/libobjc/encoding.c
+++ b/libobjc/encoding.c
@@ -88,6 +88,17 @@ Boston, MA 02111-1307, USA. */
eliminate the warning. */
static int __attribute__ ((__unused__)) target_flags = 0;
+
+/* FIXME: while this file has no business including tm.h, this
+ definitely has no business defining this macro but it
+ is only way around without really rewritting this file,
+ should look after the branch of 3.4 to fix this. */
+#define rs6000_special_round_type_align(STRUCT, COMPUTED, SPECIFIED) \
+ ((TYPE_FIELDS (STRUCT) != 0 \
+ && DECL_MODE (TYPE_FIELDS (STRUCT)) == DFmode) \
+ ? MAX (MAX (COMPUTED, SPECIFIED), 64) \
+ : MAX (COMPUTED, SPECIFIED))
+
/*
return the size of an object specified by type
*/