This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: A new alpha bug


>>>>> Jim Wilson <wilson@cygnus.com> writes:

> The following patch will fix the problem, but I am not sure if it is the
> right solution.

I think this is better:

Wed Aug 13 17:32:38 1997  Jason Merrill  <jason@yorick.cygnus.com>

	* expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
 	again for the slot after we give it RTL.

Index: expr.c
===================================================================
RCS file: /cvs/cvsfiles/egcs/gcc/expr.c,v
retrieving revision 1.7
diff -c -r1.7 expr.c
*** expr.c	1997/09/16 02:07:20	1.7
--- expr.c	1997/09/16 03:37:26
***************
*** 6919,6924 ****
--- 6919,6929 ----
  		/* All temp slots at this level must not conflict.  */
  		preserve_temp_slots (target);
  		DECL_RTL (slot) = target;
+ 		if (TREE_ADDRESSABLE (slot))
+ 		  {
+ 		    TREE_ADDRESSABLE (slot) = 0;
+ 		    mark_addressable (slot);
+ 		  }
  
  		/* Since SLOT is not known to the called function
  		   to belong to its stack frame, we must build an explicit


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]