sys/features.h: Define _ISOC2X_SOURCE and __ISO_C_VISIBLE
Add feature test for C2X code. Add matching definitions _ISOC2X_SOURCE for requesting sources and __ISO_C_VISIBLE to be used in headers. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
This commit is contained in:
parent
8fbbc668a0
commit
290b56a879
|
@ -87,6 +87,9 @@ extern "C" {
|
|||
* _ISOC11_SOURCE or gcc -std=c11 or g++ -std=c++11
|
||||
* ISO C11
|
||||
*
|
||||
* _ISOC2x_SOURCE or gcc -std=c2x or g++ -std=c++20
|
||||
* ISO C11
|
||||
*
|
||||
* _ATFILE_SOURCE (implied by _POSIX_C_SOURCE >= 200809L)
|
||||
* "at" functions
|
||||
*
|
||||
|
@ -114,6 +117,8 @@ extern "C" {
|
|||
#define _ISOC99_SOURCE 1
|
||||
#undef _ISOC11_SOURCE
|
||||
#define _ISOC11_SOURCE 1
|
||||
#undef _ISOC2X_SOURCE
|
||||
#define _ISOC2X_SOURCE 1
|
||||
#undef _POSIX_SOURCE
|
||||
#define _POSIX_SOURCE 1
|
||||
#undef _POSIX_C_SOURCE
|
||||
|
@ -215,6 +220,11 @@ extern "C" {
|
|||
* g++ -std=c++11 or newer (on by default since GCC 6), or with
|
||||
* _ISOC11_SOURCE.
|
||||
*
|
||||
* __ISO_C_VISIBLE >= 2020
|
||||
* ISO C2x; enabled with gcc -std=c2x or newer,
|
||||
* g++ -std=c++20 or newer, or with
|
||||
* _ISOC2X_SOURCE.
|
||||
*
|
||||
* __ATFILE_VISIBLE
|
||||
* "at" functions; enabled by default, with _ATFILE_SOURCE,
|
||||
* _POSIX_C_SOURCE >= 200809L, or _XOPEN_SOURCE >= 700.
|
||||
|
@ -261,7 +271,10 @@ extern "C" {
|
|||
#define __GNU_VISIBLE 0
|
||||
#endif
|
||||
|
||||
#if defined(_ISOC11_SOURCE) || \
|
||||
#if defined(_ISOC2X_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 || \
|
||||
|
|
Loading…
Reference in New Issue