diff options
author | Jakub Jelinek <jakub@redhat.com> | 2000-04-12 17:55:54 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2000-04-12 17:55:54 +0200 |
commit | 35f109982492cc19dbcd44318c866fa693184e73 (patch) | |
tree | ea36a6d5ed181a2f37f80c7c6b80558f950a0a55 | |
parent | 5591ee6fee0a0fd48c0e9c19c9c0aa1614878f89 (diff) | |
download | gcc-35f109982492cc19dbcd44318c866fa693184e73.zip gcc-35f109982492cc19dbcd44318c866fa693184e73.tar.gz gcc-35f109982492cc19dbcd44318c866fa693184e73.tar.bz2 |
encoding.c (objc_layout_structure_next_member): Do the whole procedure even for the first member, so that we get correct alignment.
* encoding.c (objc_layout_structure_next_member): Do the whole
procedure even for the first member, so that we get correct
alignment.
From-SVN: r33110
-rw-r--r-- | libobjc/ChangeLog | 4 | ||||
-rw-r--r-- | libobjc/encoding.c | 10 |
2 files changed, 4 insertions, 10 deletions
diff --git a/libobjc/ChangeLog b/libobjc/ChangeLog index abab0b9..1c245af 100644 --- a/libobjc/ChangeLog +++ b/libobjc/ChangeLog @@ -6,6 +6,10 @@ * encoding.c (objc_layout_finish_structure): Don't use ROUND_TYPE_ALIGN on sparc. + * encoding.c (objc_layout_structure_next_member): Do the whole + procedure even for the first member, so that we get correct + alignment. + 2000-03-29 Zack Weinberg <zack@wolery.cumb.org> * objc/Protocol.h, objc/objc-list.h: Change #endif labels to diff --git a/libobjc/encoding.c b/libobjc/encoding.c index dde009c..7841196 100644 --- a/libobjc/encoding.c +++ b/libobjc/encoding.c @@ -743,15 +743,6 @@ objc_layout_structure_next_member (struct objc_struct_layout *layout) /* The current type without the type qualifiers */ const char *type; -#if 1 - if (layout->prev_type == NULL) - { - layout->prev_type = layout->type; - layout->type = objc_skip_typespec (layout->prev_type); - return YES; - } -#endif - /* Add the size of the previous field to the size of the record. */ if (layout->prev_type) { @@ -760,7 +751,6 @@ objc_layout_structure_next_member (struct objc_struct_layout *layout) if (*type != _C_BFLD) layout->record_size += objc_sizeof_type (type) * BITS_PER_UNIT; else { - desired_align = 1; /* Get the bitfield's type */ for (bfld_type = type + 1; isdigit(*bfld_type); |