diff options
Diffstat (limited to 'features.h')
-rw-r--r-- | features.h | 18 |
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 |