diff options
| author | bosch <bosch@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-10-08 14:06:05 +0000 | 
|---|---|---|
| committer | bosch <bosch@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-10-08 14:06:05 +0000 | 
| commit | 33c2b4c3848e3d337e01842de1b584a277c9787f (patch) | |
| tree | 4fa0b38991939b9ab9b4b5ec29d8d7d854e8b6b6 /gcc/ada/misc.c | |
| parent | 0868c72e3c8309a10bf2c22db20866f4a6e94eb4 (diff) | |
| download | ppe42-gcc-33c2b4c3848e3d337e01842de1b584a277c9787f.tar.gz ppe42-gcc-33c2b4c3848e3d337e01842de1b584a277c9787f.zip | |
	* 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/ada/misc.c')
| -rw-r--r-- | gcc/ada/misc.c | 25 | 
1 files changed, 5 insertions, 20 deletions
| 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.  */ | 

