This is the mail archive of the
mailing list for the GCC project.
Re: Bootstrap failure on solaris2.7 (was: new real.c implementation)
> From: Richard Henderson <firstname.lastname@example.org>
> On Mon, Sep 23, 2002 at 03:59:10PM -0400, Kaveh R. Ghazi wrote:
> > Notice the value of r->exp is 536870911 vs -1.
> Ok, that makes sense.
> I had thought about putting "signed" there explicitly, but thought,
> gee, that won't parse on K&R. I note now that "signed" is defined in
> ansidecl.h, so we can put it here.
> But does that do any good on a real K&R c compiler? How will sunos
> and hpux cc treat this field?
I don't have access to these systems so I can't say for sure. However
my sense is that in the absence of a "signed" keyword K&R defaults to
We'll just have to wait for someone with these boxes to try it out.
They can simply compile my test program from the previous posting
using cc. I'd prefer to wait until we get a report of an actual
failure before adding any autoconf ugliness for this.
With the patch below, I was able to complete a full bootstrap on
solaris2 using cc for stage1.
Ok to install?
2002-09-23 Kaveh R. Ghazi <email@example.com>
* real.h (real_value): Make `exp' explicitly signed.
diff -rup orig/egcc-CVS20020923/gcc/real.h egcc-CVS20020923/gcc/real.h
--- orig/egcc-CVS20020923/gcc/real.h 2002-09-21 16:00:11.000000000 -0400
+++ egcc-CVS20020923/gcc/real.h 2002-09-23 20:45:46.360838399 -0400
@@ -44,7 +44,7 @@ struct real_value GTY(())
enum real_value_class class : 2;
unsigned int sign : 1;
- int exp : EXP_BITS;
+ signed int exp : EXP_BITS;
unsigned long sig[SIGSZ];