Commit 6419e5b0 by Donn Terry Committed by Jeff Law

expr.c (expand_assignment): Force pointers to proper mode if POINTERS_EXTEND_UNSIGNED is defined.

        * expr.c (expand_assignment): Force pointers to proper mode if
        POINTERS_EXTEND_UNSIGNED is defined.

From-SVN: r26484
parent 79dc434e
......@@ -6,6 +6,9 @@ Thu Apr 15 23:17:33 1999 Jerry Quinn <jquinn@nortelnetworks.com>
Thu Apr 15 20:46:57 1999 Donn Terry (donn@interix.com)
* expr.c (expand_assignment): Force pointers to proper mode if
POINTERS_EXTEND_UNSIGNED is defined.
* xm-alpha.h (alloca.h): Add Interix to list of special machines
that don't like alloca.h, pending using autoconf results.
......
......@@ -3393,7 +3393,14 @@ expand_assignment (to, from, want_value, suggest_reg)
emit_block_move (to_rtx, value, expr_size (from),
TYPE_ALIGN (TREE_TYPE (from)) / BITS_PER_UNIT);
else
emit_move_insn (to_rtx, value);
{
#ifdef POINTERS_EXTEND_UNSIGNED
if (TREE_CODE (to) == REFERENCE_TYPE
|| TREE_CODE (to) == POINTER_TYPE)
value = convert_memory_address (GET_MODE (to_rtx), value);
#endif
emit_move_insn (to_rtx, value);
}
preserve_temp_slots (to_rtx);
free_temp_slots ();
pop_temp_slots ();
......
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