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.
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 ();