aboutsummaryrefslogtreecommitdiff
path: root/libobjc
diff options
context:
space:
mode:
authorAndrew Pinski <pinskia@physics.uc.edu>2004-01-17 19:48:50 +0000
committerAndrew Pinski <pinskia@gcc.gnu.org>2004-01-17 11:48:50 -0800
commit95727fb877e650d1d4be5798151a2cde09cd0553 (patch)
treea0ab8ee208b07c4e48ee3c5ef3d40bc702369877 /libobjc
parent4bfaff4d24177c907f1ecb4062501a422f63c6e0 (diff)
downloadgcc-95727fb877e650d1d4be5798151a2cde09cd0553.zip
gcc-95727fb877e650d1d4be5798151a2cde09cd0553.tar.gz
gcc-95727fb877e650d1d4be5798151a2cde09cd0553.tar.bz2
re PR target/10781 (wrong class size and alignment with static class member)
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. From-SVN: r76043
Diffstat (limited to 'libobjc')
-rw-r--r--libobjc/ChangeLog5
-rw-r--r--libobjc/encoding.c11
2 files changed, 16 insertions, 0 deletions
diff --git a/libobjc/ChangeLog b/libobjc/ChangeLog
index 069a1f9..cf2fe5f 100644
--- a/libobjc/ChangeLog
+++ b/libobjc/ChangeLog
@@ -1,3 +1,8 @@
+2004-01-17 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR target/10781
+ * encoding.c (rs6000_special_round_type_align): Define.
+
2004-01-14 Adam Fedor <fedor@gnu.org>
PR libobjc/12155
diff --git a/libobjc/encoding.c b/libobjc/encoding.c
index bed0653..17bc8d4 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
*/