Eric Blake wrote: > the pair 'extern inline' that causes the problem. Are we stuck with just > telling these users that they shouldn't upgrade gcc without also upgrading > their headers, because the old headers are broken with the new gcc?
When gcc changed the semantics they also introduced the new __GNUC_STDC_INLINE__ define to indicate the new standard-conforming behavior, which can be used to safely introduce a portable 'extern inline' macro. This change bit newlib back in March; see the _ELIDABLE_INLINE macro in stdio.h: <http://sourceware.org/ml/newlib/2007/msg00296.html>. In terms of a user who uses a new gcc with older libc, I suppose it could be a case of "doctor it hurts", however I also seem to recall that fixincludes were added to gcc at the time of the change to fix resulting header problems on common platforms like linux, so if that has regressed it should be reported as a bug. Brian