]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Fix features.h for -Wundef (bug 19212).
authorJoseph Myers <joseph@codesourcery.com>
Thu, 5 Nov 2015 21:19:37 +0000 (21:19 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Thu, 5 Nov 2015 21:19:37 +0000 (21:19 +0000)
features.h is not clean with -Wundef (for the installed header, of
course this only appears with -Wsystem-headers).  In ISO C standards
modes, you get a series of warnings / errors relating to
_POSIX_C_SOURCE and _XOPEN_SOURCE not being defined when tested in
standards mode and uses #undef _GNU_SOURCE to avoid the default
_GNU_SOURCE from libc-symbols.h.  This patch changes the relevant #if
conditionals to avoid these warnings / errors.

Tested for x86_64 and x86 (testsuite, and that installed shared
libraries are unchanged by the patch).

[BZ #19212]
* include/features.h [(_XOPEN_SOURCE - 0) >= 500]: Change
conditional to [defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) >=
500].
[_POSIX_C_SOURCE >= 1]: Change conditional to [defined
_POSIX_C_SOURCE && _POSIX_C_SOURCE >= 1].
[(_POSIX_C_SOURCE - 0) >= 199309L]: Change conditional to [defined
_POSIX_C_SOURCE && (_POSIX_C_SOURCE - 0) >= 199309L].
[(_POSIX_C_SOURCE - 0) >= 199506L]: Change conditional to [defined
_POSIX_C_SOURCE && (_POSIX_C_SOURCE - 0) >= 199506L].
[(_POSIX_C_SOURCE - 0) >= 200112L]: Change conditional to [defined
_POSIX_C_SOURCE && (_POSIX_C_SOURCE - 0) >= 200112L].
[(_POSIX_C_SOURCE - 0) >= 200809L]: Change conditional to [defined
_POSIX_C_SOURCE && (_POSIX_C_SOURCE - 0) >= 200809L].

ChangeLog
NEWS
include/features.h

index bc2bc6935ea10e8289f9bda001038580d11294fa..3ee9f19cf87639e111f1d72861d9da4bd9c388d7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,20 @@
 2015-11-05  Joseph Myers  <joseph@codesourcery.com>
 
+       [BZ #19212]
+       * include/features.h [(_XOPEN_SOURCE - 0) >= 500]: Change
+       conditional to [defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) >=
+       500].
+       [_POSIX_C_SOURCE >= 1]: Change conditional to [defined
+       _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 1].
+       [(_POSIX_C_SOURCE - 0) >= 199309L]: Change conditional to [defined
+       _POSIX_C_SOURCE && (_POSIX_C_SOURCE - 0) >= 199309L].
+       [(_POSIX_C_SOURCE - 0) >= 199506L]: Change conditional to [defined
+       _POSIX_C_SOURCE && (_POSIX_C_SOURCE - 0) >= 199506L].
+       [(_POSIX_C_SOURCE - 0) >= 200112L]: Change conditional to [defined
+       _POSIX_C_SOURCE && (_POSIX_C_SOURCE - 0) >= 200112L].
+       [(_POSIX_C_SOURCE - 0) >= 200809L]: Change conditional to [defined
+       _POSIX_C_SOURCE && (_POSIX_C_SOURCE - 0) >= 200809L].
+
        [BZ #19209]
        * math/bits/math-finite.h (ldexp): Remove declaration.
        (ldexpf): Likewise.
diff --git a/NEWS b/NEWS
index 63ff0afbc132fe36eb6c36da03723a4528555d73..901f92b4ccf09ef12a651c740388985ad3292c63 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -22,7 +22,7 @@ Version 2.23
   19003, 19007, 19012, 19016, 19018, 19032, 19046, 19048, 19049, 19050,
   19059, 19071, 19074, 19076, 19077, 19078, 19079, 19085, 19086, 19088,
   19094, 19095, 19124, 19125, 19129, 19134, 19137, 19156, 19174, 19181,
-  19189, 19201, 19205, 19209.
+  19189, 19201, 19205, 19209, 19212.
 
 * A defect in the malloc implementation, present since glibc 2.15 (2012) or
   glibc 2.10 via --enable-experimental-malloc (2009), could result in the
index bb8061073e206ddda4e372f4d88328855cd4bdfd..774afdd2fe7b71f58992932cee1050eda4f6928f 100644 (file)
 # undef  _POSIX_C_SOURCE
 # define _POSIX_C_SOURCE       200809L
 #endif
-#if ((!defined __STRICT_ANSI__ || (_XOPEN_SOURCE - 0) >= 500) && \
-     !defined _POSIX_SOURCE && !defined _POSIX_C_SOURCE)
+#if ((!defined __STRICT_ANSI__                                 \
+      || (defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) >= 500))        \
+     && !defined _POSIX_SOURCE && !defined _POSIX_C_SOURCE)
 # define _POSIX_SOURCE 1
 # if defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) < 500
 #  define _POSIX_C_SOURCE      2
 # define __USE_POSIX_IMPLICITLY        1
 #endif
 
-#if defined _POSIX_SOURCE || _POSIX_C_SOURCE >= 1 || defined _XOPEN_SOURCE
+#if (defined _POSIX_SOURCE                                     \
+     || (defined _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 1)      \
+     || defined _XOPEN_SOURCE)
 # define __USE_POSIX   1
 #endif
 
 # define __USE_POSIX2  1
 #endif
 
-#if (_POSIX_C_SOURCE - 0) >= 199309L
+#if defined _POSIX_C_SOURCE && (_POSIX_C_SOURCE - 0) >= 199309L
 # define __USE_POSIX199309     1
 #endif
 
-#if (_POSIX_C_SOURCE - 0) >= 199506L
+#if defined _POSIX_C_SOURCE && (_POSIX_C_SOURCE - 0) >= 199506L
 # define __USE_POSIX199506     1
 #endif
 
-#if (_POSIX_C_SOURCE - 0) >= 200112L
+#if defined _POSIX_C_SOURCE && (_POSIX_C_SOURCE - 0) >= 200112L
 # define __USE_XOPEN2K         1
 # undef __USE_ISOC95
 # define __USE_ISOC95          1
 # define __USE_ISOC99          1
 #endif
 
-#if (_POSIX_C_SOURCE - 0) >= 200809L
+#if defined _POSIX_C_SOURCE && (_POSIX_C_SOURCE - 0) >= 200809L
 # define __USE_XOPEN2K8                1
 # undef  _ATFILE_SOURCE
 # define _ATFILE_SOURCE        1