diff options
author | Andrew Pinski <pinskia@physics.uc.edu> | 2004-01-17 19:48:50 +0000 |
---|---|---|
committer | Andrew Pinski <pinskia@gcc.gnu.org> | 2004-01-17 11:48:50 -0800 |
commit | 95727fb877e650d1d4be5798151a2cde09cd0553 (patch) | |
tree | a0ab8ee208b07c4e48ee3c5ef3d40bc702369877 /libobjc | |
parent | 4bfaff4d24177c907f1ecb4062501a422f63c6e0 (diff) | |
download | gcc-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/ChangeLog | 5 | ||||
-rw-r--r-- | libobjc/encoding.c | 11 |
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 */ |