bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: new extern inline provokes -Wmissing-declarations warnings


From: Jim Meyering
Subject: Re: new extern inline provokes -Wmissing-declarations warnings
Date: Sun, 05 Aug 2012 18:43:56 +0200

Jim Meyering wrote:

> Jim Meyering wrote:
>
>> Jim Meyering wrote:
>>
>>> Paul Eggert wrote:
>>>> On 08/05/2012 06:27 AM, Jim Meyering wrote:
>>>>
>>>>> * configure.ac: Disable -Wmissing-declarations to avoid warnings
>>>>> from gnulib's newly extern-inline functions.
>>>>
>>>> This shouldn't be needed if your compiler is sufficiently
>>>> new, because timespec.h's _GL_INLINE_HEADER_BEGIN
>>>> is supposed to suppress those warnings.  If you're using
>>>> GCC 4.7.1 or later, could you please figure out what the issue
>>>
>>> I'm using 2-day-old gcc 4.8.0 20120803
>>>
>>>> is?  If it's an older GCC, I wouldn't worry about it -- people
>>>> aren't supposed to use --enable-gcc-warnings unless
>>>> they have a sufficiently-new GCC.
>>>
>>> Oh, that handles -Wmissing-prototypes,
>>>
>>>     #  define _GL_INLINE_HEADER_BEGIN \
>>>          _Pragma ("GCC diagnostic push") \
>>>          _Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"")
>>>     #  define _GL_INLINE_HEADER_END \
>>>          _Pragma ("GCC diagnostic pop")
>>>     # endif
>>>
>>> while this problem is with -Wmissing-declarations.
>>
>> Forgot to say, "maybe the solution is as simple as this:"
>
> With one more backslash, too:
>
>        #  define _GL_INLINE_HEADER_BEGIN \
>             _Pragma ("GCC diagnostic push") \
>             _Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"") \
>             _Pragma ("GCC diagnostic ignored \"-Wmissing-declarations\"")
>        #  define _GL_INLINE_HEADER_END \
>             _Pragma ("GCC diagnostic pop")
>        # endif

Yep, that does the trick.
Thanks for the tip.  With that, I can now drop the coreutils commit.

>From b856f3ae3cd7b3a501a2e8be37ee86e7f58cb12b Mon Sep 17 00:00:00 2001
From: Jim Meyering <address@hidden>
Date: Sun, 5 Aug 2012 18:41:53 +0200
Subject: [PATCH] extern-inline: also ignore -Wmissing-declarations

* m4/extern-inline.m4: Also ignore -Wmissing-declarations,
required with gcc-4.8.0-to-be.
---
 ChangeLog           | 4 ++++
 m4/extern-inline.m4 | 3 ++-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index efa1179..774cdb1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2012-08-05  Jim Meyering  <address@hidden>

+       extern-inline: also ignore -Wmissing-declarations
+       * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
+       required with gcc-4.8.0-to-be.
+
        maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
        * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
        for /error ?([^,]*)/.  This avoids false-positives for strings like
diff --git a/m4/extern-inline.m4 b/m4/extern-inline.m4
index cacf8a0..187a335 100644
--- a/m4/extern-inline.m4
+++ b/m4/extern-inline.m4
@@ -24,7 +24,8 @@ AC_DEFUN([gl_EXTERN_INLINE],
 # if (__GNUC__ == 4 && 6 <= __GNUC_MINOR__) || 4 < __GNUC__
 #  define _GL_INLINE_HEADER_BEGIN \
      _Pragma ("GCC diagnostic push") \
-     _Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"")
+     _Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"") \
+     _Pragma ("GCC diagnostic ignored \"-Wmissing-declarations\"")
 #  define _GL_INLINE_HEADER_END \
      _Pragma ("GCC diagnostic pop")
 # endif
--
1.7.12.rc1.10.g97c7934



reply via email to

[Prev in Thread] Current Thread [Next in Thread]