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
This commit is contained in:
Jakub Jelinek 2000-04-12 17:55:54 +02:00 committed by Jakub Jelinek
parent 5591ee6fee
commit 35f1099824
2 changed files with 4 additions and 10 deletions

View File

@ -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

View File

@ -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);