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]
Other format: [Raw text]

Re: fixincludes for glibc 'inline' non-C99 conformance


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.


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