fixincludes for glibc 'inline' non-C99 conformance

Mike Stump
Sat Nov 4 03:56:00 GMT 2006

On Nov 3, 2006, at 6:55 PM, Mark Mitchell wrote:
> I understand your frustration, but this is something that happens  
> to all of us who work on GCC.  It's annoying, but it's not  
> necessarily avoidable.  People don't -- and probably can't --  
> realize the impact of patches like this until they are checked in  
> and things stop working.
> I'd still like to hear from other people about what they think the  
> right path forward is.

The problem with a switch is then people cannot just check the  
compiler version number and do the right thing because then they have  
to factor in the setting of the switch for it to work, so, if a  
switch is added, then we'll also need a define for it.  Also, the  
existence of the switch gives them yet another mode in which they  
have to test and increases the likely hood they'll get it wrong.

I think that if we put a warning into all release branches now, that  
we'll have more than a year of warning before gcc 4.3 is released, by  
that time, hopefully, most important projects will have had an  
opportunity to update.

If it were put into the 4.2 branch, I can understand the request to  
back it out, but not from a stage 1 mainline.  The issue is that  
_all_ of the problems were known about 8 years ago, there aren't any  
new ones I've seen.  I think asking for it to be backed out of  
mainline is silly.  If someone wants a switch, someone will  
contribute a switch.  We have more than 18 months to develop the 5  
lines of code for the switch, I'm confident that is enough time to  
come up with the 5 lines of code.  There just isn't any way around  
the hurt.  A switch isn't really going to help with the hurt.  What  
will help, is if all projects fix their code, if they do that, no  
hurt, if they don't do that, hurt.  They won't start to address that,  
until there is hurt, so the situation has been rigged from the start,  
there is gonna be hurt.

Now, I'd propose that we table the idea of backing it out now, and  
let the world end, let people contribute to a wiki all the projects  
that fail to build with the changed semantics and solicit fixincludes  
for the projects that have installed headers.  Let's encourage people  
to file bug reports against those projects and link those reports  
onto our wiki and see how they come along in the next year.  After we  
create the 4.3 release branch, I'd propose that we then make the  
decision to flip the switch default (or back the patch out, if there  
is no switch by then) for the release branch only, leaving mainline  
as it is.

While I see the harm in not having gcc bootstrap for a year or two on  
linux, that is reason enough to back it out, I don't see the harm if  
gcc can't recompile the entire world immediately.

More information about the Gcc-patches mailing list