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]

Re: Bootstrap error building libio on sparc-sun-solaris2.7


On Apr  3, 2000, "Kaveh R. Ghazi" <ghazi@caip.rutgers.edu> wrote:

>> From: "Kaveh R. Ghazi" <ghazi@caip.rutgers.edu>

>> > ../../../egcs-CVS20000327/libio/floatconv.c: In function `_IO_strtod':
>> > ../../../egcs-CVS20000327/libio/floatconv.c:1631: Insn does not
>> > 	satisfy its constraints:
>> > (insn 3363 1016 3457 (set (reg:DF 38 %f6)
>> >         (mem/s/u:DF (plus:SI (reg:SI 9 %o1)
>> >                 (reg:SI 8 %o0)) 0)) 167 {*movdf_insn_sp32} (nil)
>> >     (nil))

> This error still occurs with last night's CVS checkout.

Yup.  Here's a patch that reverts the culprit.  Ok to install?

Index: gcc/ChangeLog
from  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
	
	* config/sparc/sparc.c (mem_min_alignment): Revert.
	2000-03-21  Jakub Jelinek  <jakub@redhat.com>
	
Index: gcc/config/sparc/sparc.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/sparc/sparc.c,v
retrieving revision 1.121
diff -u -r1.121 sparc.c
--- gcc/config/sparc/sparc.c	2000/04/04 10:13:26	1.121
+++ gcc/config/sparc/sparc.c	2000/04/05 04:57:20
@@ -2942,12 +2942,10 @@
 	{
 	  /* Check if the compiler has recorded some information
 	     about the alignment of the base REG.  If reload has
-	     completed, we already matched with proper alignments.
-	     If not running global_alloc, reload might give us
-	     unaligned pointer to local stack though.  */
+	     completed, we already matched with proper alignments.  */
 	  if (((cfun != 0
 		&& REGNO_POINTER_ALIGN (regno) >= desired * BITS_PER_UNIT)
-	       || (optimize && reload_completed))
+	       || reload_completed)
 	      && (INTVAL (offset) & (desired - 1)) == 0)
 	    return 1;
 	}

Jakub, do you have a testcase that fails without your patch?  The
following testcase fails *with* it.  I've just installed it as
gcc.c-torture/compile/20000405-1.c:

static const double bar[] = { 0 };
int j;

double
foo ()
{
  return bar[j];
}

-- 
Alexandre Oliva    Enjoy Guaranį, see http://www.ic.unicamp.br/~oliva/
Cygnus Solutions, a Red Hat company        aoliva@{redhat, cygnus}.com
Free Software Developer and Evangelist    CS PhD student at IC-Unicamp
oliva@{lsd.ic.unicamp.br, gnu.org}   Write to mailing lists, not to me

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