summaryrefslogtreecommitdiff
path: root/features.h
diff options
context:
space:
mode:
Diffstat (limited to 'features.h')
-rw-r--r--features.h18
1 files changed, 15 insertions, 3 deletions
diff --git a/features.h b/features.h
index 9b20512c51..4bcff2a190 100644
--- a/features.h
+++ b/features.h
@@ -25,7 +25,8 @@
__STRICT_ANSI__ ANSI Standard C.
_POSIX_SOURCE IEEE Std 1003.1.
- _POSIX_C_SOURCE If ==1, like _POSIX_SOURCE; if ==2 add IEEE Std 1003.2.
+ _POSIX_C_SOURCE If ==1, like _POSIX_SOURCE; if >=2 add IEEE Std 1003.2;
+ if >=199309L, add IEEE Std 1003.1b-1993
_XOPEN_SOURCE Includes POSIX and XPG things.
_XOPEN_SOURCE_EXTENDED XPG things and X/Open Unix extensions.
_BSD_SOURCE ANSI, POSIX, and 4.3BSD things.
@@ -45,6 +46,7 @@
__USE_POSIX Define IEEE Std 1003.1 things.
__USE_POSIX2 Define IEEE Std 1003.2 things.
+ __USE_POSIX199309 Define IEEE Std 1003.1b things.
__USE_XOPEN Define XPG things.
__USE_XOPEN_EXTENDED Define X/Open Unix things.
__USE_BSD Define 4.3BSD things.
@@ -66,6 +68,7 @@
/* Undefine everything, so we get a clean slate. */
#undef __USE_POSIX
#undef __USE_POSIX2
+#undef __USE_POSIX199309
#undef __USE_XOPEN
#undef __USE_XOPEN_EXTENDED
#undef __USE_BSD
@@ -99,7 +102,7 @@
#undef _POSIX_SOURCE
#define _POSIX_SOURCE 1
#undef _POSIX_C_SOURCE
-#define _POSIX_C_SOURCE 2
+#define _POSIX_C_SOURCE 199309L
#undef _XOPEN_SOURCE
#define _XOPEN_SOURCE 1
#undef _XOPEN_SOURCE_EXTENDED
@@ -120,11 +123,16 @@
#define _SVID_SOURCE 1
#endif
-/* If none of the ANSI/POSIX macros are defined, use POSIX.1 and POSIX.2. */
+/* If none of the ANSI/POSIX macros are defined, use POSIX.1 and POSIX.2
+ (and IEEE Std 1003.1b-1993 unless _XOPEN_SOURCE is defined). */
#if (!defined (__STRICT_ANSI__) && !defined (_POSIX_SOURCE) && \
!defined (_POSIX_C_SOURCE))
#define _POSIX_SOURCE 1
+#if defined(_XOPEN_SOURCE)
#define _POSIX_C_SOURCE 2
+#else
+#define _POSIX_C_SOURCE 199309L
+#endif
#endif
#if (defined (_POSIX_SOURCE) || _POSIX_C_SOURCE >= 1 || \
@@ -137,6 +145,10 @@
#define __USE_POSIX2 1
#endif
+#if (defined (_POSIX_C_SOURCE) && _POSIX_C_SOURCE >= 199309L)
+#define __USE_POSIX199309 1
+#endif
+
#ifdef _XOPEN_SOURCE
#define __USE_XOPEN 1
#ifdef _XOPEN_SOURCE_EXTENDED