------- Comment #8 from ro at techfak dot uni-bielefeld dot de  2009-10-22 
18:20 -------
Subject: Re:  Bootstrap with Sun Studio 12.1 fails


> > Even so, there is breakage in GCC as well:
> > * ansidecl.h has a broken test for C99, and incorrectly assumes Sun cc
> >   doesn't support extern inline.  The define from inline to nothing causes
> >   part of the problem.
> > * Three files in the gcc directory declared extern inline call static
> >   functions, which causes Sun Studio cc to error out (cf. the attached
> >   diff).

> I have no objection to these patches.  However I think you said they don't
> actually solve the problem right?

They are necessary if you fix ansidecl.h to properly handle non-GCC C99
compilers and Sun Studio cc.  I have no idea if the Sun compiler is right
to error out here, though: that's probably for the reviewer to decide.

The other problem is if compilers are allowed to emit code for extern
inline functions that are unused: if so, the patches above are not enough
and we need to fix either GCC or GMP (unless they argue that it's wrong to
include gmp.h, but not to link with -lgmp).

> So between link xgcc with -lgmp and don't include gmp.h, I prefer the latter
> approach.  Let's not include gmp.h in gcc.c (and anywhere else it isn't
> necessary.)

Fully agreed: linking with -lgmp is just a hack.

> Say I have a silly question, how is gmp.h getting pulled into gcc.c in the
> first place?  It's supposed to come in via real.h which should only get
> included by middle-end files linking with real.o ...
> 
> If we can't disentangle real.h from this then another approach would be to
> define GENERATOR_FILE (or likely some new macro name) and avoid including the
> problematic headers that way.  Then -D this macro in the gcc.o rule in the
> Makefile.

Seems like a good approach to me.

        Rainer


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41771

Reply via email to