On Wed, 1 Nov 2006, Ian Lance Taylor wrote: > According to the proposal, we will restore the GNU handling for > "extern inline" even when using -std=c99, which will fix the problem > when using glibc.
We definitely need to revert that until the fixincludes changes are available. (The precise nature of the fix - whether we disable the inlines, change them to be C99-aware or add an attribute to give yet another form of inline function in gnu99 mode that mimics gnu89 extern inline - is less important.) > (Then we will break it again in gcc 4.4, but by then we can hope that > glibc will be fixed, and we can force people who want to use -std=c99 > or -std=gnu99 on GNU/Linux to upgrade to a newer glibc.) libgfortran uses -std=gnu99 and so default bootstrap is currently broken on GNU/Linux. Thus, I hereby propose starting the 48 hour reversion timer. (Only enough of the behavior needs reverting to fix bootstrap, not the whole patch, but the whole patch might need to be if there isn't a smaller fix available. A first attempted fix did not fix bootstrap <http://gcc.gnu.org/ml/gcc-patches/2006-11/msg00019.html>.) Given this use of -std=gnu99 in GCC I don't think "upgrade to a newer glibc" will suffice - we will need the fixincludes changes for all the problematic headers installed by glibc 2.3 or later, and I expect such fixes will need to stay around for at least the next five years. Of course those wishing to *build* glibc with new inline rules will need to use glibc 2.6 or later. Once we have the fixincludes fixes, I don't think we need to wait for 4.4 to switch the default in gnu99 mode back to C99 inline semantics, as long as we have those fixes during Stage 1. However long we wait, a lot of code will simply not be fixed until -std=gnu99 becomes the default (and accordingly that change will break a lot of code, and so should be done in a future Stage 1). -- Joseph S. Myers [EMAIL PROTECTED]