stor-layout.c (layout_decl): Properly compare KNOWN_ALIGN to see if DECL_BIT_FIELD needs to still be set.
* stor-layout.c (layout_decl): Properly compare KNOWN_ALIGN to see if DECL_BIT_FIELD needs to still be set. From-SVN: r33149
This commit is contained in:
parent
b3ddc3ab4b
commit
b1ba4cc3a8
@ -1,5 +1,8 @@
|
||||
Fri Apr 14 07:40:32 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||||
|
||||
* stor-layout.c (layout_decl): Properly compare KNOWN_ALIGN to
|
||||
see if DECL_BIT_FIELD needs to still be set.
|
||||
|
||||
* tree.h (struct tree_type): Make PRECISION 9 bits and MODE 7.
|
||||
|
||||
* dbxout.c (dbxout_type, case INTEGER_TYPE): Don't call
|
||||
|
@ -351,7 +351,7 @@ layout_decl (decl, known_align)
|
||||
register enum machine_mode xmode
|
||||
= mode_for_size_tree (DECL_SIZE (decl), MODE_INT, 1);
|
||||
|
||||
if (xmode != BLKmode && known_align > GET_MODE_ALIGNMENT (xmode))
|
||||
if (xmode != BLKmode && known_align >= GET_MODE_ALIGNMENT (xmode))
|
||||
{
|
||||
DECL_ALIGN (decl) = MAX (GET_MODE_ALIGNMENT (xmode),
|
||||
DECL_ALIGN (decl));
|
||||
@ -363,7 +363,7 @@ layout_decl (decl, known_align)
|
||||
/* Turn off DECL_BIT_FIELD if we won't need it set. */
|
||||
if (code == FIELD_DECL && DECL_BIT_FIELD (decl)
|
||||
&& TYPE_MODE (type) == BLKmode && DECL_MODE (decl) == BLKmode
|
||||
&& known_align > TYPE_ALIGN (type)
|
||||
&& known_align >= TYPE_ALIGN (type)
|
||||
&& DECL_ALIGN (decl) >= TYPE_ALIGN (type)
|
||||
&& DECL_SIZE_UNIT (decl) != 0)
|
||||
DECL_BIT_FIELD (decl) = 0;
|
||||
|
Loading…
Reference in New Issue
Block a user