This is the mail archive of the gcc-patches@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]
Other format: [Raw text]

Small change to expand_expr CONSTRUCTOR handling


This was motivated by a large Ada code.  Tested on i686-pc-linux-gnu.

Mon May 19 16:03:53 2003  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* expr.c (expand_expr, case CONSTRUCTOR): Put into memory if
	constant and EXPAND_CONST_ADDRESS, not just EXPAND_INITIALIZER.

*** gcc/expr.c.may16	Fri May 16 15:50:35 2003
--- gcc/expr.c	Fri May 16 15:51:45 2003
*************** expand_expr (exp, target, tmode, modifie
*** 6713,6717 ****
  			     TYPE_ALIGN (type)))
  			&& ! mostly_zeros_p (exp))))
! 	       || (modifier == EXPAND_INITIALIZER && TREE_CONSTANT (exp)))
  	{
  	  rtx constructor = output_constant_def (exp, 1);
--- 6713,6719 ----
  			     TYPE_ALIGN (type)))
  			&& ! mostly_zeros_p (exp))))
! 	       || ((modifier == EXPAND_INITIALIZER
! 		    || modifier == EXPAND_CONST_ADDRESS)
! 		   && TREE_CONSTANT (exp)))
  	{
  	  rtx constructor = output_constant_def (exp, 1);


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