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
This commit is contained in:
parent
79dc434ecf
commit
6419e5b063
|
@ -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 ();
|
||||
|
|
Loading…
Reference in New Issue