* Segher Boessenkool email@example.com [020623 03:05]:
Well no. It will still only compile on compilers that support GCC's variable macro arg syntax and its computed-goto-to-label support; the only compiler that works with all this is GCC (even icc won't work). Oh, and named record initialization, too (a C99-ism).
The later one is probably easy to "fix", computed goto has it's point. But this can probably be worked around with some #ifdefs as well. Variable macro arg is a problem. Will we still need this when we are able to compile the whole thing with itself?
If you send a patch that removes these dependencies while not getting any performance loss (and the restrict's matter a lot, but there's not enough of them at this exact moment), it'll sure be applied. But as long as we require GCC anyway, I prefer using all C99 goodies that ease my life.
None of my tests showed any change in performance with restrict (was gcc 3.1.1 though, not HEAD) Still, restrict is changed to a macro in the latest version of my patch, which is set when the keyword is available. The same way would be viable for the other C99isms and GNUisms. This way people have the choice between portability and speed without having to touch the source. I don't think this will bloat the source too bad - less than thousand lines are pretty easy to overview.
I'll look into the auto-config-types thingie sometime soonish, btw. Yes I'm slow these days, sorry.
It's getting summer,.. nothing more understandable than that. If you have any todo/wishes/requirements for this, drop me a note, I will implement it.