Commit d4c40650 by Richard Stallman

*** empty log message ***

From-SVN: r1355
parent f3ee8ad1
...@@ -40,6 +40,10 @@ tree size_zero_node; ...@@ -40,6 +40,10 @@ tree size_zero_node;
tree size_one_node; tree size_one_node;
/* If nonzero, this is an upper limit on alignment of structure fields.
The value is measured in bits. */
int maximum_field_alignment;
#define GET_MODE_ALIGNMENT(MODE) \ #define GET_MODE_ALIGNMENT(MODE) \
MIN (BIGGEST_ALIGNMENT, \ MIN (BIGGEST_ALIGNMENT, \
MAX (1, (GET_MODE_UNIT_SIZE (MODE) * BITS_PER_UNIT))) MAX (1, (GET_MODE_UNIT_SIZE (MODE) * BITS_PER_UNIT)))
...@@ -198,7 +202,12 @@ layout_decl (decl, known_align) ...@@ -198,7 +202,12 @@ layout_decl (decl, known_align)
/* Conditions are: a fixed size that is correct for another mode /* Conditions are: a fixed size that is correct for another mode
and occupying a complete byte or bytes on proper boundary. */ and occupying a complete byte or bytes on proper boundary. */
if (code == FIELD_DECL) if (code == FIELD_DECL)
DECL_BIT_FIELD_TYPE (decl) = DECL_BIT_FIELD (decl) ? type : 0; {
DECL_BIT_FIELD_TYPE (decl) = DECL_BIT_FIELD (decl) ? type : 0;
if (maximum_field_alignment != 0)
DECL_ALIGN (decl) = MIN (DECL_ALIGN (decl), maximum_field_alignment);
}
if (DECL_BIT_FIELD (decl) if (DECL_BIT_FIELD (decl)
&& TYPE_SIZE (type) != 0 && TYPE_SIZE (type) != 0
&& TREE_CODE (TYPE_SIZE (type)) == INTEGER_CST) && TREE_CODE (TYPE_SIZE (type)) == INTEGER_CST)
......
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