summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorbosch <bosch@138bc75d-0d04-0410-961f-82ee72b054a4>2001-10-08 14:06:05 +0000
committerbosch <bosch@138bc75d-0d04-0410-961f-82ee72b054a4>2001-10-08 14:06:05 +0000
commit33c2b4c3848e3d337e01842de1b584a277c9787f (patch)
tree4fa0b38991939b9ab9b4b5ec29d8d7d854e8b6b6 /gcc
parent0868c72e3c8309a10bf2c22db20866f4a6e94eb4 (diff)
downloadgcc-33c2b4c3848e3d337e01842de1b584a277c9787f.tar.gz
* misc.c (gnat_expand_expr, case UNCHECKED_CONVERT_EXPR):
Consistently set MEM attributes from expression; fixes bootstrap failure on x86. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@46076 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ada/ChangeLog6
-rw-r--r--gcc/ada/misc.c25
2 files changed, 11 insertions, 20 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 338ea66a4a4..013a8f2b171 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,9 @@
+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.
diff --git a/gcc/ada/misc.c b/gcc/ada/misc.c
index a806d241ea8..dbfe9e39b34 100644
--- a/gcc/ada/misc.c
+++ b/gcc/ada/misc.c
@@ -573,26 +573,11 @@ gnat_expand_expr (exp, target, tmode, modifier)
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. */