From a153ae15978eb73d04afcf141aaac12b7c6e9356 Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Mon, 8 Oct 2001 14:06:05 +0000 Subject: misc.c (gnat_expand_expr, [...]): Consistently set MEM attributes from expression; fixes bootstrap failure on x86. * misc.c (gnat_expand_expr, case UNCHECKED_CONVERT_EXPR): Consistently set MEM attributes from expression; fixes bootstrap failure on x86. From-SVN: r46076 --- gcc/ada/ChangeLog | 6 ++++++ gcc/ada/misc.c | 25 +++++-------------------- 2 files changed, 11 insertions(+), 20 deletions(-) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 338ea66..013a8f2 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 a806d24..dbfe9e3 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. */ -- cgit v1.1