about summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2009-08-23 14:55:51 -0700
committerUlrich Drepper <drepper@redhat.com>2009-08-23 14:55:51 -0700
commitbdc7f5d76b4f284475595dddc79f0e0f9720ec20 (patch)
treee785157977597e50973af9d82b976296bd4be6bd
parent2d094b739598d2e1718d3cc4c5af7e95787bd463 (diff)
downloadglibc-bdc7f5d76b4f284475595dddc79f0e0f9720ec20.tar.gz
glibc-bdc7f5d76b4f284475595dddc79f0e0f9720ec20.tar.xz
glibc-bdc7f5d76b4f284475595dddc79f0e0f9720ec20.zip
Also correct _POSIX2_* constants in case older standards are selected.
-rw-r--r--ChangeLog4
-rw-r--r--posix/unistd.h24
2 files changed, 21 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index 280afff9be..a42e20b0be 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,7 @@
 2009-08-23  Ulrich Drepper  <drepper@redhat.com>
 
-	* posix/unistd.h: Define _POSIX_VERSION correctly if older POSIX
-	versions are selected.
+	* posix/unistd.h: Define _POSIX_VERSION and _POSIX2_* correctly if
+	older POSIX versions are selected.
 
 	* stdio-common/printf_fp.c: ISO C expects to print the sign of NaN
 	as well.
diff --git a/posix/unistd.h b/posix/unistd.h
index 2de9a68b39..d9ecb5e788 100644
--- a/posix/unistd.h
+++ b/posix/unistd.h
@@ -50,24 +50,38 @@ __BEGIN_DECLS
 /* These are not #ifdef __USE_POSIX2 because they are
    in the theoretically application-owned namespace.  */
 
+#ifdef __USE_XOPEN2K8
+# define __POSIX2_THIS_VERSION	200809L
+/* The utilities on GNU systems also correspond to this version.  */
+#elif defined __USE_XOPEN2K
+/* The utilities on GNU systems also correspond to this version.  */
+# define __POSIX2_THIS_VERSION	200112L
+#elif defined __USE_POSIX199506
+/* The utilities on GNU systems also correspond to this version.  */
+# define __POSIX2_THIS_VERSION	199506L
+#else
+/* The utilities on GNU systems also correspond to this version.  */
+# define __POSIX2_THIS_VERSION	199209L
+#endif
+
 /* The utilities on GNU systems also correspond to this version.  */
-#define _POSIX2_VERSION	200809L
+#define _POSIX2_VERSION	__POSIX2_THIS_VERSION
 
 /* If defined, the implementation supports the
    C Language Bindings Option.  */
-#define	_POSIX2_C_BIND	200809L
+#define	_POSIX2_C_BIND	__POSIX2_THIS_VERSION
 
 /* If defined, the implementation supports the
    C Language Development Utilities Option.  */
-#define	_POSIX2_C_DEV	200809L
+#define	_POSIX2_C_DEV	__POSIX2_THIS_VERSION
 
 /* If defined, the implementation supports the
    Software Development Utilities Option.  */
-#define	_POSIX2_SW_DEV	200809L
+#define	_POSIX2_SW_DEV	__POSIX2_THIS_VERSION
 
 /* If defined, the implementation supports the
    creation of locales with the localedef utility.  */
-#define _POSIX2_LOCALEDEF       200809L
+#define _POSIX2_LOCALEDEF       __POSIX2_THIS_VERSION
 
 /* X/Open version number to which the library conforms.  It is selectable.  */
 #ifdef __USE_XOPEN2K8