From 44f73b8deccadf3e0d668f493d7dc3babcaa3144 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Wed, 29 Apr 2015 19:47:12 -0700 Subject: [PATCH] extern-inline: no need for workaround in GCC 5.1 * doc/extern-inline.texi (extern inline): * m4/extern-inline.m4 (gl_EXTERN_INLINE): GCC bugs 54113 and 63877 are fixed in GCC 5.1, so don't work around these bugs in GCC 5.1 and later. Maybe in a decade or two we can remove these workarounds. --- ChangeLog | 9 +++++++++ doc/extern-inline.texi | 3 ++- m4/extern-inline.m4 | 5 +++-- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 6d9ba2c38f..5e82830a52 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2015-04-29 Paul Eggert + + extern-inline: no need for workaround in GCC 5.1 + * doc/extern-inline.texi (extern inline): + * m4/extern-inline.m4 (gl_EXTERN_INLINE): + GCC bugs 54113 and 63877 are fixed in GCC 5.1, so don't work + around these bugs in GCC 5.1 and later. Maybe in a decade or + two we can remove these workarounds. + 2015-04-28 Pádraig Brady eealloc, pagealign_alloc, xalloc: avoid clang warnings diff --git a/doc/extern-inline.texi b/doc/extern-inline.texi index 85edfa8736..1c9c0a1188 100644 --- a/doc/extern-inline.texi +++ b/doc/extern-inline.texi @@ -90,7 +90,8 @@ platforms and will die out eventually. @findex _GL_INLINE_HEADER_BEGIN Invoke @code{_GL_INLINE_HEADER_BEGIN} before all uses of -@code{_GL_INLINE} in an include file. If an include file includes +@code{_GL_INLINE} in an include file. This suppresses some +bogus warnings in GCC versions before 5.1. If an include file includes other files, it is better to invoke this macro after including the other files. diff --git a/m4/extern-inline.m4 b/m4/extern-inline.m4 index e74339a165..72800650e6 100644 --- a/m4/extern-inline.m4 +++ b/m4/extern-inline.m4 @@ -74,12 +74,13 @@ AC_DEFUN([gl_EXTERN_INLINE], # define _GL_EXTERN_INLINE static _GL_UNUSED #endif -/* In GCC, suppress bogus "no previous prototype for 'FOO'" +/* In GCC 4.6 (inclusive) to 5.1 (exclusive), + suppress bogus "no previous prototype for 'FOO'" and "no previous declaration for 'FOO'" diagnostics, when FOO is an inline function in the header; see and . */ -#if 4 < __GNUC__ + (6 <= __GNUC_MINOR__) +#if __GNUC__ == 4 && 6 <= __GNUC_MINOR__ # if defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ # define _GL_INLINE_HEADER_CONST_PRAGMA # else -- 2.39.5