------- Comment #8 from hubicka at gcc dot gnu dot org 2008-01-12 13:55 ------- I can definitely commit the patch to silence the (IMO valid) diagnostics. However, why programs are using always_inline and extern inline combination at all? Just extern inline should be enough. /* For GNU C extern inline functions disregard inline limits. */ if (DECL_EXTERNAL (fndecl) && DECL_DECLARED_INLINE_P (fndecl)) DECL_DISREGARD_INLINE_LIMITS (fndecl) = 1;
So perhaps just modifying glibc headers to not do both would do the trick? I agree that solving this problem correctly via two functions (not only bodies, but simply two declarations) is probably bit tricky for stage3. We however have related PR34609 and PR31529 demonstrating same problem in different context. Honza -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33763