c-common.c (decl_attributes): Differentiate between types and type decls for alignment.

* c-common.c (decl_attributes):  Differentiate between
        types and type decls for alignment.

From-SVN: r34810
This commit is contained in:
Catherine Moore 2000-06-30 14:59:10 +00:00 committed by Catherine Moore
parent 45f640c2f1
commit af80d48991
2 changed files with 15 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2000-06-30 Catherine Moore <clm@cygnus.com>
* c-common.c (decl_attributes): Differentiate between
types and type decls for alignment.
2000-06-30 Nathan Sidwell <nathan@codesourcery.com>
* cpp.texi: Document #pragma GCC dependency

View File

@ -779,8 +779,16 @@ decl_attributes (node, attributes, prefix_attributes)
error ("requested alignment is too large");
else if (is_type)
{
TYPE_ALIGN (type) = (1 << i) * BITS_PER_UNIT;
TYPE_USER_ALIGN (type) = 1;
if (decl)
{
DECL_ALIGN (decl) = (1 << i) * BITS_PER_UNIT;
DECL_USER_ALIGN (decl) = 1;
}
else
{
TYPE_ALIGN (type) = (1 << i) * BITS_PER_UNIT;
TYPE_USER_ALIGN (type) = 1;
}
}
else if (TREE_CODE (decl) != VAR_DECL
&& TREE_CODE (decl) != FIELD_DECL)