PR target/13789
* expr.c (store_expr): Use force_operand before emit_move_insn.
From-SVN: r77158
+2004-02-02 Richard Henderson <rth@redhat.com>
+
+ PR target/13789
+ * expr.c (store_expr): Use force_operand before emit_move_insn.
+
2004-02-02 Jeff Law <law@redhat.com>
Roger Sayle <roger@eyesopen.com>
(want_value & 2
? BLOCK_OP_CALL_PARM : BLOCK_OP_NORMAL));
else
- emit_move_insn (target, temp);
+ {
+ temp = force_operand (temp, target);
+ if (temp != target)
+ emit_move_insn (target, temp);
+ }
}
/* If we don't want a value, return NULL_RTX. */
--- /dev/null
+/* PR target/13789 */
+/* Failed on SPARC due to a bug in store_expr. */
+
+void *foo (void *c)
+{
+ void *a = __builtin_extract_return_addr (c);
+ return a;
+}