Commit 21002281 by Jim Wilson Committed by Jim Wilson

Fix H.J. Lu's alpha-linux bug with TImode constructors.

	* expr.c (expand_expr): Remove previous incorrect change.
	If target and slot has no DECL_RTL, then call mark_addressable
	again for the slot after we give it RTL.

From-SVN: r15496
parent 7d9e0d33
Tue Sep 16 11:13:46 1997 Jim Wilson <wilson@cygnus.com>
* expr.c (expand_expr): Remove previous incorrect change.
If target and slot has no DECL_RTL, then call mark_addressable
again for the slot after we give it RTL.
Tue Sep 16 10:14:55 1997 Jeffrey A Law (law@cygnus.com) Tue Sep 16 10:14:55 1997 Jeffrey A Law (law@cygnus.com)
* version.c: Bump for snapshot. * version.c: Bump for snapshot.
......
...@@ -6919,11 +6919,6 @@ expand_expr (exp, target, tmode, modifier) ...@@ -6919,11 +6919,6 @@ expand_expr (exp, target, tmode, modifier)
/* All temp slots at this level must not conflict. */ /* All temp slots at this level must not conflict. */
preserve_temp_slots (target); preserve_temp_slots (target);
DECL_RTL (slot) = target; DECL_RTL (slot) = target;
if (TREE_ADDRESSABLE (slot))
{
TREE_ADDRESSABLE (slot) = 0;
mark_addressable (slot);
}
/* Since SLOT is not known to the called function /* Since SLOT is not known to the called function
to belong to its stack frame, we must build an explicit to belong to its stack frame, we must build an explicit
...@@ -6955,8 +6950,17 @@ expand_expr (exp, target, tmode, modifier) ...@@ -6955,8 +6950,17 @@ expand_expr (exp, target, tmode, modifier)
if (TREE_OPERAND (exp, 1) == NULL_TREE) if (TREE_OPERAND (exp, 1) == NULL_TREE)
return target; return target;
} }
else
DECL_RTL (slot) = target; {
DECL_RTL (slot) = target;
/* If we must have an addressable slot, then make sure that
the RTL that we just stored in slot is OK. */
if (TREE_ADDRESSABLE (slot))
{
TREE_ADDRESSABLE (slot) = 0;
mark_addressable (slot);
}
}
} }
exp1 = TREE_OPERAND (exp, 3) = TREE_OPERAND (exp, 1); exp1 = TREE_OPERAND (exp, 3) = TREE_OPERAND (exp, 1);
......
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