Re: [PATCH 2/2] libc/features.h: Make code match documentation

Joel Sherrill <[email protected]>
Newsgroups gmane.comp.lib.newlib
Message-ID <CAF9ehCUWiOCGkgEH-dQZOi6BnrfQVt+YUiaoTyQ-5L94uoWHPg@mail.gmail.com>
This is OK also except for a couple of nits in the RTEMS section.

+#define _POSIX_VERSION 199309L

We are now tracking Issue 8 and have added most of the functions
that make sense for RTEMS to support.

+#define _POSIX_ASYNCHRONOUS_IO 1
+#define _POSIX_FSYNC 1
+#define _POSIX_MAPPED_FILES 1

We do not have mapped files. I see that those are mandatory in Issue 8
but the Austin Group folks seem to have forgotten the PSE profiles
and various tailorings of POSIX for embedded systems.

Please comment out _POSIX_MAPPED_FILES. That's what we have done
elsewhere in this block.

--joel

On Fri, Nov 14, 2025 at 4:02 PM Simon Barth <[email protected]> wrote:

> The documentation states that _GNU_SOURCE enables "all of the above
> plus GNU extensions.". Furthermore the documentation states that
> _DEFAULT_SOURCE would enable POSIX-1.2008 with BSD and SVr4 extensions.
>
> The code did different things though:
>
> * For _GNU_SOURCE it only enabled POSIX.1-2008 but it should have been the
>   highest available one, POSIX.1-2024.
> * For _DEFAULT_SOURCE it enabled POSIX.1-2024.
>
> Let's use the highest available POSIX standard possible and fix
> documentation where necessary.
> ---
>  newlib/libc/include/sys/features.h | 413 ++++++++++++++---------------
>  1 file changed, 205 insertions(+), 208 deletions(-)
>
> diff --git a/newlib/libc/include/sys/features.h
> b/newlib/libc/include/sys/features.h
> index 2a5da45ab..985fcd300 100644
> --- a/newlib/libc/include/sys/features.h
> +++ b/newlib/libc/include/sys/features.h
> @@ -29,16 +29,15 @@ extern "C" {
>
>  /* Macro to test version of GCC.  Returns 0 for non-GCC or too old GCC. */
>  #ifndef __GNUC_PREREQ
> -# if defined __GNUC__ && defined __GNUC_MINOR__
> -#  define __GNUC_PREREQ(maj, min) \
> -       ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
> -# else
> -#  define __GNUC_PREREQ(maj, min) 0
> -# endif
> +#if defined __GNUC__ && defined __GNUC_MINOR__
> +#define __GNUC_PREREQ(maj, min)
>       \
> +  ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
> +#else
> +#define __GNUC_PREREQ(maj, min) 0
> +#endif
>  #endif /* __GNUC_PREREQ */
>  /* Version with trailing underscores for BSD compatibility. */
> -#define        __GNUC_PREREQ__(ma, mi) __GNUC_PREREQ(ma, mi)
> -
> +#define __GNUC_PREREQ__(ma, mi) __GNUC_PREREQ(ma, mi)
>
>  /*
>   * Feature test macros control which symbols are exposed by the system
> @@ -105,7 +104,7 @@ extern "C" {
>   * _BSD_SOURCE (deprecated by _DEFAULT_SOURCE)
>   * _SVID_SOURCE (deprecated by _DEFAULT_SOURCE)
>   * _DEFAULT_SOURCE (or none of the above)
> - *     POSIX-1.2008 with BSD and SVr4 extensions
> + *     POSIX.1-2024 with BSD and SVr4 extensions
>   *
>   * _FORTIFY_SOURCE = 1, 2 or 3
>   *     Object Size Checking function wrappers
> @@ -113,65 +112,65 @@ extern "C" {
>
>  /* Remap the old name _ISOC2X_SOURCE to _ISOC23_SOURCE.  */
>  #ifdef _ISOC2X_SOURCE
> -# undef _ISOC2X_SOURCE
> -# undef _ISOC23_SOURCE
> -# define _ISOC23_SOURCE        1
> +#undef _ISOC2X_SOURCE
> +#undef _ISOC23_SOURCE
> +#define _ISOC23_SOURCE 1
>  #endif
>
>  #ifdef _GNU_SOURCE
>  #undef _ATFILE_SOURCE
> -#define        _ATFILE_SOURCE          1
> -#undef _DEFAULT_SOURCE
> -#define        _DEFAULT_SOURCE         1
> +#define _ATFILE_SOURCE 1
> +#undef _DEFAULT_SOURCE
> +#define _DEFAULT_SOURCE 1
>  #undef _ISOC99_SOURCE
> -#define        _ISOC99_SOURCE          1
> +#define _ISOC99_SOURCE 1
>  #undef _ISOC11_SOURCE
> -#define        _ISOC11_SOURCE          1
> +#define _ISOC11_SOURCE 1
>  #undef _ISOC23_SOURCE
> -#define        _ISOC23_SOURCE          1
> +#define _ISOC23_SOURCE 1
>  #undef _POSIX_SOURCE
> -#define        _POSIX_SOURCE           1
> +#define _POSIX_SOURCE 1
>  #undef _POSIX_C_SOURCE
> -#define        _POSIX_C_SOURCE         200809L
> +#define _POSIX_C_SOURCE 202405L
>  #undef _XOPEN_SOURCE
> -#define        _XOPEN_SOURCE           700
> +#define _XOPEN_SOURCE 700
>  #undef _XOPEN_SOURCE_EXTENDED
> -#define        _XOPEN_SOURCE_EXTENDED  1
> +#define _XOPEN_SOURCE_EXTENDED 1
>  #endif /* _GNU_SOURCE */
>
> -#if defined(_BSD_SOURCE) || defined(_SVID_SOURCE) || \
> -   (!defined(__STRICT_ANSI__) && !defined(_ANSI_SOURCE) && \
> -   !defined(_ISOC99_SOURCE) && !defined(_POSIX_SOURCE) && \
> -   !defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE))
> +#if defined(_BSD_SOURCE) || defined(_SVID_SOURCE) ||
>      \
> +    (!defined(__STRICT_ANSI__) && !defined(_ANSI_SOURCE) &&
>       \
> +     !defined(_ISOC99_SOURCE) && !defined(_POSIX_SOURCE) &&
>       \
> +     !defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE))
>  #undef _DEFAULT_SOURCE
> -#define        _DEFAULT_SOURCE         1
> +#define _DEFAULT_SOURCE 1
>  #endif
>
>  #if defined(_DEFAULT_SOURCE)
>  #undef _POSIX_SOURCE
> -#define        _POSIX_SOURCE           1
> +#define _POSIX_SOURCE 1
>  #undef _POSIX_C_SOURCE
> -#define        _POSIX_C_SOURCE         202405L
> +#define _POSIX_C_SOURCE 202405L
>  #endif
>
> -#if !defined(_POSIX_SOURCE) && !defined(_POSIX_C_SOURCE) && \
> -  ((!defined(__STRICT_ANSI__) && !defined(_ANSI_SOURCE)) || \
> -   (_XOPEN_SOURCE - 0) >= 500)
> -#define        _POSIX_SOURCE           1
> +#if !defined(_POSIX_SOURCE) && !defined(_POSIX_C_SOURCE) &&
>       \
> +    ((!defined(__STRICT_ANSI__) && !defined(_ANSI_SOURCE)) ||
>       \
> +     (_XOPEN_SOURCE - 0) >= 500)
> +#define _POSIX_SOURCE 1
>  #if !defined(_XOPEN_SOURCE) || (_XOPEN_SOURCE - 0) >= 700
> -#define        _POSIX_C_SOURCE         200809L
> +#define _POSIX_C_SOURCE 200809L
>  #elif (_XOPEN_SOURCE - 0) >= 600
> -#define        _POSIX_C_SOURCE         200112L
> +#define _POSIX_C_SOURCE 200112L
>  #elif (_XOPEN_SOURCE - 0) >= 500
> -#define        _POSIX_C_SOURCE         199506L
> +#define _POSIX_C_SOURCE 199506L
>  #elif (_XOPEN_SOURCE - 0) < 500
> -#define        _POSIX_C_SOURCE         2
> +#define _POSIX_C_SOURCE 2
>  #endif
>  #endif
>
>  #if defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE >= 200809
>  #undef _ATFILE_SOURCE
> -#define        _ATFILE_SOURCE          1
> +#define _ATFILE_SOURCE 1
>  #endif
>
>  /*
> @@ -268,102 +267,102 @@ extern "C" {
>   */
>
>  #ifdef _ATFILE_SOURCE
> -#define        __ATFILE_VISIBLE        1
> +#define __ATFILE_VISIBLE 1
>  #else
> -#define        __ATFILE_VISIBLE        0
> +#define __ATFILE_VISIBLE 0
>  #endif
>
>  #ifdef _DEFAULT_SOURCE
> -#define        __BSD_VISIBLE           1
> +#define __BSD_VISIBLE 1
>  #else
> -#define        __BSD_VISIBLE           0
> +#define __BSD_VISIBLE 0
>  #endif
>
>  #ifdef _GNU_SOURCE
> -#define        __GNU_VISIBLE           1
> +#define __GNU_VISIBLE 1
>  #else
> -#define        __GNU_VISIBLE           0
> +#define __GNU_VISIBLE 0
>  #endif
>
> -#if defined(_ISOC23_SOURCE) || \
> -  (__STDC_VERSION__ - 0) > 201710L || (__cplusplus - 0) >= 202002L
> -#define __ISO_C_VISIBLE                2020
> -#elif defined(_ISOC11_SOURCE) || \
> -  (__STDC_VERSION__ - 0) >= 201112L || (__cplusplus - 0) >= 201103L
> -#define        __ISO_C_VISIBLE         2011
> -#elif defined(_ISOC99_SOURCE) || (_POSIX_C_SOURCE - 0) >= 200112L || \
> -  (__STDC_VERSION__ - 0) >= 199901L || defined(__cplusplus)
> -#define        __ISO_C_VISIBLE         1999
> +#if defined(_ISOC23_SOURCE) || (__STDC_VERSION__ - 0) > 201710L ||
>      \
> +    (__cplusplus - 0) >= 202002L
> +#define __ISO_C_VISIBLE 2020
> +#elif defined(_ISOC11_SOURCE) || (__STDC_VERSION__ - 0) >= 201112L ||
>       \
> +    (__cplusplus - 0) >= 201103L
> +#define __ISO_C_VISIBLE 2011
> +#elif defined(_ISOC99_SOURCE) || (_POSIX_C_SOURCE - 0) >= 200112L ||
>      \
> +    (__STDC_VERSION__ - 0) >= 199901L || defined(__cplusplus)
> +#define __ISO_C_VISIBLE 1999
>  #else
> -#define        __ISO_C_VISIBLE         1990
> +#define __ISO_C_VISIBLE 1990
>  #endif
>
>  #if defined(_LARGEFILE_SOURCE) || (_XOPEN_SOURCE - 0) >= 500
> -#define        __LARGEFILE_VISIBLE     1
> +#define __LARGEFILE_VISIBLE 1
>  #else
> -#define        __LARGEFILE_VISIBLE     0
> +#define __LARGEFILE_VISIBLE 0
>  #endif
>
>  #ifdef _DEFAULT_SOURCE
> -#define        __MISC_VISIBLE          1
> +#define __MISC_VISIBLE 1
>  #else
> -#define        __MISC_VISIBLE          0
> +#define __MISC_VISIBLE 0
>  #endif
>
>  #if (_POSIX_C_SOURCE - 0) >= 202405L
> -#define        __POSIX_VISIBLE         202405
> +#define __POSIX_VISIBLE 202405
>  #elif (_POSIX_C_SOURCE - 0) >= 200809L
> -#define        __POSIX_VISIBLE         200809
> +#define __POSIX_VISIBLE 200809
>  #elif (_POSIX_C_SOURCE - 0) >= 200112L
> -#define        __POSIX_VISIBLE         200112
> +#define __POSIX_VISIBLE 200112
>  #elif (_POSIX_C_SOURCE - 0) >= 199506L
> -#define        __POSIX_VISIBLE         199506
> +#define __POSIX_VISIBLE 199506
>  #elif (_POSIX_C_SOURCE - 0) >= 199309L
> -#define        __POSIX_VISIBLE         199309
> +#define __POSIX_VISIBLE 199309
>  #elif (_POSIX_C_SOURCE - 0) >= 2 || defined(_XOPEN_SOURCE)
> -#define        __POSIX_VISIBLE         199209
> +#define __POSIX_VISIBLE 199209
>  #elif defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE)
> -#define        __POSIX_VISIBLE         199009
> +#define __POSIX_VISIBLE 199009
>  #else
> -#define        __POSIX_VISIBLE         0
> +#define __POSIX_VISIBLE 0
>  #endif
>
>  #ifdef _DEFAULT_SOURCE
> -#define        __SVID_VISIBLE          1
> +#define __SVID_VISIBLE 1
>  #else
> -#define        __SVID_VISIBLE          0
> +#define __SVID_VISIBLE 0
>  #endif
>
>  #if (_XOPEN_SOURCE - 0) >= 700
> -#define        __XSI_VISIBLE           700
> +#define __XSI_VISIBLE 700
>  #elif (_XOPEN_SOURCE - 0) >= 600
> -#define        __XSI_VISIBLE           600
> +#define __XSI_VISIBLE 600
>  #elif (_XOPEN_SOURCE - 0) >= 500
> -#define        __XSI_VISIBLE           500
> +#define __XSI_VISIBLE 500
>  #elif defined(_XOPEN_SOURCE) && defined(_XOPEN_SOURCE_EXTENDED)
> -#define        __XSI_VISIBLE           4
> +#define __XSI_VISIBLE 4
>  #elif defined(_XOPEN_SOURCE)
> -#define        __XSI_VISIBLE           1
> +#define __XSI_VISIBLE 1
>  #else
> -#define        __XSI_VISIBLE           0
> +#define __XSI_VISIBLE 0
>  #endif
>
> -#if _FORTIFY_SOURCE > 0 && !defined(__cplusplus) && !defined(__lint__) &&
> \
> -   (__OPTIMIZE__ > 0 || defined(__clang__)) && __GNUC_PREREQ__(4, 1) && \
> -   !defined(_LIBC)
> -#  if _FORTIFY_SOURCE > 2 && defined(__has_builtin)
> -#    if __has_builtin(__builtin_dynamic_object_size)
> -#      define __SSP_FORTIFY_LEVEL 3
> -#    else
> -#      define __SSP_FORTIFY_LEVEL 2
> -#    endif
> -#  elif _FORTIFY_SOURCE > 1
> -#    define __SSP_FORTIFY_LEVEL 2
> -#  else
> -#    define __SSP_FORTIFY_LEVEL 1
> -#  endif
> +#if _FORTIFY_SOURCE > 0 && !defined(__cplusplus) && !defined(__lint__)
> &&      \
> +    (__OPTIMIZE__ > 0 || defined(__clang__)) && __GNUC_PREREQ__(4, 1) &&
>      \
> +    !defined(_LIBC)
> +#if _FORTIFY_SOURCE > 2 && defined(__has_builtin)
> +#if __has_builtin(__builtin_dynamic_object_size)
> +#define __SSP_FORTIFY_LEVEL 3
>  #else
> -#  define __SSP_FORTIFY_LEVEL 0
> +#define __SSP_FORTIFY_LEVEL 2
> +#endif
> +#elif _FORTIFY_SOURCE > 1
> +#define __SSP_FORTIFY_LEVEL 2
> +#else
> +#define __SSP_FORTIFY_LEVEL 1
> +#endif
> +#else
> +#define __SSP_FORTIFY_LEVEL 0
>  #endif
>
>  /*
> @@ -374,152 +373,150 @@ extern "C" {
>  #ifdef __rtems__
>  /* #define _POSIX_JOB_CONTROL          1 */
>  /* #define _POSIX_SAVED_IDS            1 */
> -#define _POSIX_VERSION                 199309L
> -#define _POSIX_ASYNCHRONOUS_IO         1
> -#define _POSIX_FSYNC                   1
> -#define _POSIX_MAPPED_FILES            1
> +#define _POSIX_VERSION 199309L
> +#define _POSIX_ASYNCHRONOUS_IO 1
> +#define _POSIX_FSYNC 1
> +#define _POSIX_MAPPED_FILES 1
>  /* #define _POSIX_MEMLOCK                      1 */
>  /* #define _POSIX_MEMLOCK_RANGE                1 */
>  /* #define _POSIX_MEMORY_PROTECTION    1 */
> -#define _POSIX_MESSAGE_PASSING         1
> -#define _POSIX_MONOTONIC_CLOCK         200112L
> -#define _POSIX_CLOCK_SELECTION         200112L
> -#define _POSIX_PRIORITIZED_IO          1
> -#define _POSIX_PRIORITY_SCHEDULING     1
> -#define _POSIX_REALTIME_SIGNALS                1
> -#define _POSIX_SEMAPHORES              1
> -#define _POSIX_SHARED_MEMORY_OBJECTS   1
> -#define _POSIX_SYNCHRONIZED_IO         1
> -#define _POSIX_TIMERS                  1
> -#define _POSIX_BARRIERS                 200112L
> -#define _POSIX_READER_WRITER_LOCKS      200112L
> -#define _POSIX_SPIN_LOCKS               200112L
> -
> +#define _POSIX_MESSAGE_PASSING 1
> +#define _POSIX_MONOTONIC_CLOCK 200112L
> +#define _POSIX_CLOCK_SELECTION 200112L
> +#define _POSIX_PRIORITIZED_IO 1
> +#define _POSIX_PRIORITY_SCHEDULING 1
> +#define _POSIX_REALTIME_SIGNALS 1
> +#define _POSIX_SEMAPHORES 1
> +#define _POSIX_SHARED_MEMORY_OBJECTS 1
> +#define _POSIX_SYNCHRONIZED_IO 1
> +#define _POSIX_TIMERS 1
> +#define _POSIX_BARRIERS 200112L
> +#define _POSIX_READER_WRITER_LOCKS 200112L
> +#define _POSIX_SPIN_LOCKS 200112L
>
>  /* In P1003.1b but defined by drafts at least as early as P1003.1c/D10  */
> -#define _POSIX_THREADS                         1
> -#define _POSIX_THREAD_ATTR_STACKADDR           1
> -#define _POSIX_THREAD_ATTR_STACKSIZE           1
> -#define _POSIX_THREAD_PRIORITY_SCHEDULING      1
> -#define _POSIX_THREAD_PRIO_INHERIT             1
> -#define _POSIX_THREAD_PRIO_PROTECT             1
> -#define _POSIX_THREAD_PROCESS_SHARED           1
> -#define _POSIX_THREAD_SAFE_FUNCTIONS           1
> +#define _POSIX_THREADS 1
> +#define _POSIX_THREAD_ATTR_STACKADDR 1
> +#define _POSIX_THREAD_ATTR_STACKSIZE 1
> +#define _POSIX_THREAD_PRIORITY_SCHEDULING 1
> +#define _POSIX_THREAD_PRIO_INHERIT 1
> +#define _POSIX_THREAD_PRIO_PROTECT 1
> +#define _POSIX_THREAD_PROCESS_SHARED 1
> +#define _POSIX_THREAD_SAFE_FUNCTIONS 1
>
>  /* P1003.4b/D8 defines the constants below this comment. */
> -#define _POSIX_SPAWN                           1
> -#define _POSIX_TIMEOUTS                                1
> -#define _POSIX_CPUTIME                         1
> -#define _POSIX_THREAD_CPUTIME                  1
> -#define _POSIX_SPORADIC_SERVER                 1
> -#define _POSIX_THREAD_SPORADIC_SERVER          1
> -#define _POSIX_DEVICE_CONTROL                  1
> -#define _POSIX_DEVCTL_DIRECTION                        1
> -#define _POSIX_INTERRUPT_CONTROL               1
> -#define _POSIX_ADVISORY_INFO                   1
> +#define _POSIX_SPAWN 1
> +#define _POSIX_TIMEOUTS 1
> +#define _POSIX_CPUTIME 1
> +#define _POSIX_THREAD_CPUTIME 1
> +#define _POSIX_SPORADIC_SERVER 1
> +#define _POSIX_THREAD_SPORADIC_SERVER 1
> +#define _POSIX_DEVICE_CONTROL 1
> +#define _POSIX_DEVCTL_DIRECTION 1
> +#define _POSIX_INTERRUPT_CONTROL 1
> +#define _POSIX_ADVISORY_INFO 1
>
>  /* UNIX98 added some new pthread mutex attributes */
> -#define _UNIX98_THREAD_MUTEX_ATTRIBUTES         1
> +#define _UNIX98_THREAD_MUTEX_ATTRIBUTES 1
>
>  /* POSIX 1003.26-2003 defined device control method */
> -#define _POSIX_26_VERSION                      200312L
> +#define _POSIX_26_VERSION 200312L
>
>  #endif
>
>  /* XMK loosely adheres to POSIX -- 1003.1 */
>  #ifdef __XMK__
> -#define _POSIX_THREADS                         1
> -#define _POSIX_THREAD_PRIORITY_SCHEDULING      1
> +#define _POSIX_THREADS 1
> +#define _POSIX_THREAD_PRIORITY_SCHEDULING 1
>  #endif
>
> -
>  #ifdef __svr4__
> -# define _POSIX_JOB_CONTROL     1
> -# define _POSIX_SAVED_IDS       1
> -# define _POSIX_VERSION 199009L
> +#define _POSIX_JOB_CONTROL 1
> +#define _POSIX_SAVED_IDS 1
> +#define _POSIX_VERSION 199009L
>  #endif
>
>  #ifdef __CYGWIN__
>
>  #if __POSIX_VISIBLE >= 202405
> -#define _POSIX_VERSION                         202405L
> -#define _POSIX2_VERSION                                202405L
> +#define _POSIX_VERSION 202405L
> +#define _POSIX2_VERSION 202405L
>  #elif __POSIX_VISIBLE >= 200809
> -#define _POSIX_VERSION                         200809L
> -#define _POSIX2_VERSION                                200809L
> +#define _POSIX_VERSION 200809L
> +#define _POSIX2_VERSION 200809L
>  #elif __POSIX_VISIBLE >= 200112
> -#define _POSIX_VERSION                         200112L
> -#define _POSIX2_VERSION                                200112L
> +#define _POSIX_VERSION 200112L
> +#define _POSIX2_VERSION 200112L
>  #elif __POSIX_VISIBLE >= 199506
> -#define _POSIX_VERSION                         199506L
> -#define _POSIX2_VERSION                                199506L
> +#define _POSIX_VERSION 199506L
> +#define _POSIX2_VERSION 199506L
>  #elif __POSIX_VISIBLE >= 199309
> -#define _POSIX_VERSION                         199309L
> -#define _POSIX2_VERSION                                199209L
> +#define _POSIX_VERSION 199309L
> +#define _POSIX2_VERSION 199209L
>  #elif __POSIX_VISIBLE >= 199209
> -#define _POSIX_VERSION                         199009L
> -#define _POSIX2_VERSION                                199209L
> +#define _POSIX_VERSION 199009L
> +#define _POSIX2_VERSION 199209L
>  #elif __POSIX_VISIBLE
> -#define _POSIX_VERSION                         199009L
> +#define _POSIX_VERSION 199009L
>  #endif
>  #if __XSI_VISIBLE >= 4
> -#define _XOPEN_VERSION                         __XSI_VISIBLE
> +#define _XOPEN_VERSION __XSI_VISIBLE
>  #endif
>
> -#define _POSIX_ADVISORY_INFO                   200809L
> -#define _POSIX_ASYNCHRONOUS_IO                 200809L
> -#define _POSIX_BARRIERS                                200809L
> -#define _POSIX_CHOWN_RESTRICTED                             1
> -#define _POSIX_CLOCK_SELECTION                 200809L
> -#define _POSIX_CPUTIME                         200809L
> -#define _POSIX_FSYNC                           200809L
> -#define _POSIX_IPV6                            200809L
> -#define _POSIX_JOB_CONTROL                          1
> -#define _POSIX_MAPPED_FILES                    200809L
> +#define _POSIX_ADVISORY_INFO 200809L
> +#define _POSIX_ASYNCHRONOUS_IO 200809L
> +#define _POSIX_BARRIERS 200809L
> +#define _POSIX_CHOWN_RESTRICTED 1
> +#define _POSIX_CLOCK_SELECTION 200809L
> +#define _POSIX_CPUTIME 200809L
> +#define _POSIX_FSYNC 200809L
> +#define _POSIX_IPV6 200809L
> +#define _POSIX_JOB_CONTROL 1
> +#define _POSIX_MAPPED_FILES 200809L
>  /* #define _POSIX_MEMLOCK                          -1 */
> -#define _POSIX_MEMLOCK_RANGE                   200809L
> -#define _POSIX_MEMORY_PROTECTION               200809L
> -#define _POSIX_MESSAGE_PASSING                 200809L
> -#define _POSIX_MONOTONIC_CLOCK                 200809L
> -#define _POSIX_NO_TRUNC                                     1
> +#define _POSIX_MEMLOCK_RANGE 200809L
> +#define _POSIX_MEMORY_PROTECTION 200809L
> +#define _POSIX_MESSAGE_PASSING 200809L
> +#define _POSIX_MONOTONIC_CLOCK 200809L
> +#define _POSIX_NO_TRUNC 1
>  /* #define _POSIX_PRIORITIZED_IO                   -1 */
> -#define _POSIX_PRIORITY_SCHEDULING             200809L
> -#define _POSIX_RAW_SOCKETS                     200809L
> -#define _POSIX_READER_WRITER_LOCKS             200809L
> -#define _POSIX_REALTIME_SIGNALS                        200809L
> -#define _POSIX_REGEXP                               1
> -#define _POSIX_SAVED_IDS                            1
> -#define _POSIX_SEMAPHORES                      200809L
> -#define _POSIX_SHARED_MEMORY_OBJECTS           200809L
> -#define _POSIX_SHELL                                1
> -#define _POSIX_SPAWN                           200809L
> -#define _POSIX_SPIN_LOCKS                      200809L
> +#define _POSIX_PRIORITY_SCHEDULING 200809L
> +#define _POSIX_RAW_SOCKETS 200809L
> +#define _POSIX_READER_WRITER_LOCKS 200809L
> +#define _POSIX_REALTIME_SIGNALS 200809L
> +#define _POSIX_REGEXP 1
> +#define _POSIX_SAVED_IDS 1
> +#define _POSIX_SEMAPHORES 200809L
> +#define _POSIX_SHARED_MEMORY_OBJECTS 200809L
> +#define _POSIX_SHELL 1
> +#define _POSIX_SPAWN 200809L
> +#define _POSIX_SPIN_LOCKS 200809L
>  /* #define _POSIX_SPORADIC_SERVER                  -1 */
> -#define _POSIX_SYNCHRONIZED_IO                 200809L
> -#define _POSIX_THREAD_ATTR_STACKADDR           200809L
> -#define _POSIX_THREAD_ATTR_STACKSIZE           200809L
> -#define _POSIX_THREAD_CPUTIME                  200809L
> +#define _POSIX_SYNCHRONIZED_IO 200809L
> +#define _POSIX_THREAD_ATTR_STACKADDR 200809L
> +#define _POSIX_THREAD_ATTR_STACKSIZE 200809L
> +#define _POSIX_THREAD_CPUTIME 200809L
>  /* #define _POSIX_THREAD_PRIO_INHERIT              -1 */
>  /* #define _POSIX_THREAD_PRIO_PROTECT              -1 */
> -#define _POSIX_THREAD_PRIORITY_SCHEDULING      200809L
> -#define _POSIX_THREAD_PROCESS_SHARED           200809L
> -#define _POSIX_THREAD_SAFE_FUNCTIONS           200809L
> +#define _POSIX_THREAD_PRIORITY_SCHEDULING 200809L
> +#define _POSIX_THREAD_PROCESS_SHARED 200809L
> +#define _POSIX_THREAD_SAFE_FUNCTIONS 200809L
>  /* #define _POSIX_THREAD_SPORADIC_SERVER           -1 */
> -#define _POSIX_THREADS                         200809L
> -#define _POSIX_TIMEOUTS                                200809L
> -#define _POSIX_TIMERS                          200809L
> +#define _POSIX_THREADS 200809L
> +#define _POSIX_TIMEOUTS 200809L
> +#define _POSIX_TIMERS 200809L
>  /* #define _POSIX_TRACE                                    -1 */
>  /* #define _POSIX_TRACE_EVENT_FILTER               -1 */
>  /* #define _POSIX_TRACE_INHERIT                            -1 */
>  /* #define _POSIX_TRACE_LOG                        -1 */
>  /* #define _POSIX_TYPED_MEMORY_OBJECTS             -1 */
> -#define _POSIX_VDISABLE                                   '\0'
> +#define _POSIX_VDISABLE '\0'
>
>  #if __POSIX_VISIBLE >= 2
> -#define _POSIX2_C_VERSION                      _POSIX2_VERSION
> -#define _POSIX2_C_BIND                         _POSIX2_VERSION
> -#define _POSIX2_C_DEV                          _POSIX2_VERSION
> -#define _POSIX2_CHAR_TERM                      _POSIX2_VERSION
> +#define _POSIX2_C_VERSION _POSIX2_VERSION
> +#define _POSIX2_C_BIND _POSIX2_VERSION
> +#define _POSIX2_C_DEV _POSIX2_VERSION
> +#define _POSIX2_CHAR_TERM _POSIX2_VERSION
>  /* #define _POSIX2_FORT_DEV                        -1 */
>  /* #define _POSIX2_FORT_RUN                        -1 */
>  /* #define _POSIX2_LOCALEDEF                       -1 */
> @@ -529,36 +526,36 @@ extern "C" {
>  /* #define _POSIX2_PBS_LOCATE                      -1 */
>  /* #define _POSIX2_PBS_MESSAGE                     -1 */
>  /* #define _POSIX2_PBS_TRACK                       -1 */
> -#define _POSIX2_SW_DEV                         _POSIX2_VERSION
> -#define _POSIX2_UPE                            _POSIX2_VERSION
> +#define _POSIX2_SW_DEV _POSIX2_VERSION
> +#define _POSIX2_UPE _POSIX2_VERSION
>  #endif /* __POSIX_VISIBLE >= 2 */
>
> -#define _POSIX_V6_ILP32_OFF32                      -1
> +#define _POSIX_V6_ILP32_OFF32 -1
>  #ifdef __LP64__
> -#define _POSIX_V6_ILP32_OFFBIG                     -1
> -#define _POSIX_V6_LP64_OFF64                        1
> -#define _POSIX_V6_LPBIG_OFFBIG                      1
> +#define _POSIX_V6_ILP32_OFFBIG -1
> +#define _POSIX_V6_LP64_OFF64 1
> +#define _POSIX_V6_LPBIG_OFFBIG 1
>  #else
> -#define _POSIX_V6_ILP32_OFFBIG                      1
> -#define _POSIX_V6_LP64_OFF64                       -1
> -#define _POSIX_V6_LPBIG_OFFBIG                     -1
> +#define _POSIX_V6_ILP32_OFFBIG 1
> +#define _POSIX_V6_LP64_OFF64 -1
> +#define _POSIX_V6_LPBIG_OFFBIG -1
>  #endif
> -#define _POSIX_V7_ILP32_OFF32                  _POSIX_V6_ILP32_OFF32
> -#define _POSIX_V7_ILP32_OFFBIG                 _POSIX_V6_ILP32_OFFBIG
> -#define _POSIX_V7_LP64_OFF64                   _POSIX_V6_LP64_OFF64
> -#define _POSIX_V7_LPBIG_OFFBIG                 _POSIX_V6_LPBIG_OFFBIG
> -#define _XBS5_ILP32_OFF32                      _POSIX_V6_ILP32_OFF32
> -#define _XBS5_ILP32_OFFBIG                     _POSIX_V6_ILP32_OFFBIG
> -#define _XBS5_LP64_OFF64                       _POSIX_V6_LP64_OFF64
> -#define _XBS5_LPBIG_OFFBIG                     _POSIX_V6_LPBIG_OFFBIG
> +#define _POSIX_V7_ILP32_OFF32 _POSIX_V6_ILP32_OFF32
> +#define _POSIX_V7_ILP32_OFFBIG _POSIX_V6_ILP32_OFFBIG
> +#define _POSIX_V7_LP64_OFF64 _POSIX_V6_LP64_OFF64
> +#define _POSIX_V7_LPBIG_OFFBIG _POSIX_V6_LPBIG_OFFBIG
> +#define _XBS5_ILP32_OFF32 _POSIX_V6_ILP32_OFF32
> +#define _XBS5_ILP32_OFFBIG _POSIX_V6_ILP32_OFFBIG
> +#define _XBS5_LP64_OFF64 _POSIX_V6_LP64_OFF64
> +#define _XBS5_LPBIG_OFFBIG _POSIX_V6_LPBIG_OFFBIG
>
>  #if __XSI_VISIBLE
> -#define _XOPEN_CRYPT                                1
> -#define _XOPEN_ENH_I18N                                     1
> +#define _XOPEN_CRYPT 1
> +#define _XOPEN_ENH_I18N 1
>  /* #define _XOPEN_LEGACY                           -1 */
>  /* #define _XOPEN_REALTIME                         -1 */
>  /* #define _XOPEN_REALTIME_THREADS                 -1 */
> -#define _XOPEN_SHM                                  1
> +#define _XOPEN_SHM 1
>  /* #define _XOPEN_STREAMS                          -1 */
>  /* #define _XOPEN_UNIX                             -1 */
>  #endif /* __XSI_VISIBLE */
> --
> 2.51.2
>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.