gcc-2.95 alpha-osf4, new bootstrap failure stage1 in expr.c + PATCH

Jeffrey A Law law@cygnus.com
Wed Jun 30 23:15:00 GMT 1999


  In message < 199906301556.LAA00589@caip.rutgers.edu >you write:
  > 	Yup, but now I'm getting an abort in stage1 building libgcc2.a:
Yes.  Alexandre reported it first :-)

Try the attached patch.  Basically I mis-read convert_to_mode.  We still
need to use copy_to_mode_reg to ensure that the value is in a fresh pseudo.



	* expr.c (emit_block_move): Use copy_to_mode_reg for
	!TARGET_MEM_FUNCTIONS case too.

Index: expr.c
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/expr.c,v
retrieving revision 1.144.4.2
diff -c -3 -p -r1.144.4.2 expr.c
*** expr.c	1999/06/30 07:01:37	1.144.4.2
--- expr.c	1999/06/30 16:23:35
*************** emit_block_move (x, y, size, align)
*** 1738,1744 ****
  #else
        size = convert_to_mode (TYPE_MODE (integer_type_node), size,
  			      TREE_UNSIGNED (integer_type_node));
!       size = copy_to_reg (size);
  #endif
  
  #ifdef TARGET_MEM_FUNCTIONS
--- 1738,1744 ----
  #else
        size = convert_to_mode (TYPE_MODE (integer_type_node), size,
  			      TREE_UNSIGNED (integer_type_node));
!       size = copy_to_mode_reg (TYPE_MODE (integer_type_node), size);
  #endif
  
  #ifdef TARGET_MEM_FUNCTIONS
*************** clear_storage (object, size, align)
*** 2499,2505 ****
  #else
  	  size = convert_to_mode (TYPE_MODE (integer_type_node), size,
  				  TREE_UNSIGNED (integer_type_node));
! 	  size = copy_to_reg (size);
  #endif
  
  
--- 2499,2505 ----
  #else
  	  size = convert_to_mode (TYPE_MODE (integer_type_node), size,
  				  TREE_UNSIGNED (integer_type_node));
! 	  size = copy_to_mode_reg (TYPE_MODE (integer_type_node), size);
  #endif
  
  




More information about the Gcc-patches mailing list