changeset 17978:144717f4f8b0

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.
author Paul Eggert <eggert@cs.ucla.edu>
date Wed, 29 Apr 2015 19:47:12 -0700
parents 1a4219ef5f25
children f5934b7e201f
files ChangeLog doc/extern-inline.texi m4/extern-inline.m4
diffstat 3 files changed, 14 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
+
+	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  <P@draigBrady.com>
 
 	eealloc, pagealign_alloc, xalloc: avoid clang warnings
--- a/doc/extern-inline.texi
+++ b/doc/extern-inline.texi
@@ -90,7 +90,8 @@
 
 @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.
 
--- a/m4/extern-inline.m4
+++ b/m4/extern-inline.m4
@@ -74,12 +74,13 @@
 # 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
    <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54113> and
    <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63877>.  */
-#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