Commit 40cb04f1 by Richard Henderson Committed by Richard Henderson

emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos in ARRAY_REF of DECL_P case.

        * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
        in ARRAY_REF of DECL_P case.

From-SVN: r55752
parent 1899ba3e
2002-07-25 Richard Henderson <rth@redhat.com>
* emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
in ARRAY_REF of DECL_P case.
2002-07-25 Richard Sandiford <rsandifo@redhat.com> 2002-07-25 Richard Sandiford <rsandifo@redhat.com>
* doc/invoke.texi: Document -mabi=meabi, and expand on the EABI * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
......
...@@ -1808,12 +1808,16 @@ set_mem_attributes (ref, t, objectp) ...@@ -1808,12 +1808,16 @@ set_mem_attributes (ref, t, objectp)
if (DECL_P (t)) if (DECL_P (t))
{ {
expr = t; expr = t;
offset = NULL;
if (host_integerp (off_tree, 1)) if (host_integerp (off_tree, 1))
offset = GEN_INT (tree_low_cst (off_tree, 1)); {
size = (DECL_SIZE_UNIT (t) HOST_WIDE_INT ioff = tree_low_cst (off_tree, 1);
&& host_integerp (DECL_SIZE_UNIT (t), 1) HOST_WIDE_INT aoff = (ioff & -ioff) * BITS_PER_UNIT;
? GEN_INT (tree_low_cst (DECL_SIZE_UNIT (t), 1)) : 0); align = DECL_ALIGN (t);
align = DECL_ALIGN (t); if (aoff && aoff < align)
align = aoff;
offset = GEN_INT (ioff);
}
} }
else if (TREE_CODE (t) == COMPONENT_REF) else if (TREE_CODE (t) == COMPONENT_REF)
{ {
......
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