Commit da57b63a by Richard Stallman

(layout_record): Turn off PCC_BITFIELD_TYPE_MATTERS

rounding of field bitpos, if maximum_field_alignment is nonzero.

From-SVN: r5318
parent 94ba5069
...@@ -410,15 +410,14 @@ layout_record (rec) ...@@ -410,15 +410,14 @@ layout_record (rec)
&& TREE_TYPE (field) != error_mark_node && TREE_TYPE (field) != error_mark_node
&& DECL_BIT_FIELD_TYPE (field) && DECL_BIT_FIELD_TYPE (field)
&& !DECL_PACKED (field) && !DECL_PACKED (field)
/* If #pragma pack is in effect, turn off this feature. */
&& maximum_field_alignment == 0
&& !integer_zerop (DECL_SIZE (field))) && !integer_zerop (DECL_SIZE (field)))
{ {
int type_align = TYPE_ALIGN (TREE_TYPE (field)); int type_align = TYPE_ALIGN (TREE_TYPE (field));
register tree dsize = DECL_SIZE (field); register tree dsize = DECL_SIZE (field);
int field_size = TREE_INT_CST_LOW (dsize); int field_size = TREE_INT_CST_LOW (dsize);
if (maximum_field_alignment != 0)
type_align = MIN (type_align, maximum_field_alignment);
/* A bit field may not span the unit of alignment of its type. /* A bit field may not span the unit of alignment of its type.
Advance to next boundary if necessary. */ Advance to next boundary if necessary. */
/* ??? There is some uncertainty here as to what /* ??? There is some uncertainty here as to what
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment