+2001-10-08 Richard Kenner (kenner@gnat.com)
+
+ * misc.c (gnat_expand_expr, case UNCHECKED_CONVERT_EXPR):
+ Consistently set MEM attributes from expression; fixes
+ bootstrap failure on x86.
+
2001-10-08 Geert Bosch (bosch@gnat.com)
* 5oosinte.adb: Add 2001 to copyright notice.
else if ((TYPE_MODE (type) == BLKmode
|| TYPE_MODE (inner_type) == BLKmode)
&& align_ok)
- {
- new = build_unary_op (INDIRECT_REF, NULL_TREE,
- convert
- (build_pointer_type (type),
- build_unary_op (ADDR_EXPR, NULL_TREE,
- TREE_OPERAND (exp, 0))));
- result = expand_expr (new, target, tmode, modifier);
-
- if (GET_CODE (result) != MEM)
- gigi_abort (204);
-
- /* Since this is really the underlying object, set the flags from
- the underlying type.
-
- ??? Note that this is very dubious because it may change the
- attributes for a temporary location, which is not allowed. */
- set_mem_alias_set (result, 0);
- set_mem_attributes (result, TREE_OPERAND (exp, 0), 0);
- return result;
- }
+ new = build_unary_op (INDIRECT_REF, NULL_TREE,
+ convert
+ (build_pointer_type (type),
+ build_unary_op (ADDR_EXPR, NULL_TREE,
+ TREE_OPERAND (exp, 0))));
/* Otherwise make a union of the two types, convert to the union, and
extract the other value. */