mirror of
git://git.musl-libc.org/musl
synced 2024-12-18 12:45:11 +00:00
c1a9658bd1
the old behavior of exposing nothing except plain ISO C can be obtained by defining __STRICT_ANSI__ or using a compiler option (such as -std=c99) that predefines it. the new default featureset is POSIX with XSI plus _BSD_SOURCE. any explicit feature test macros will inhibit the default. installation docs have also been updated to reflect this change.
29 lines
609 B
C
29 lines
609 B
C
#ifndef _FEATURES_H
|
|
#define _FEATURES_H
|
|
|
|
#if !defined(_POSIX_SOURCE) && !defined(_POSIX_C_SOURCE) \
|
|
&& !defined(_XOPEN_SOURCE) && !defined(_GNU_SOURCE) \
|
|
&& !defined(_BSD_SOURCE) && !defined(__STRICT_ANSI__)
|
|
#define _BSD_SOURCE 1
|
|
#define _XOPEN_SOURCE 700
|
|
#endif
|
|
|
|
#if __STDC_VERSION__ >= 199901L
|
|
#define __restrict restrict
|
|
#elif !defined(__GNUC__)
|
|
#define __restrict
|
|
#endif
|
|
|
|
#if __STDC_VERSION__ >= 199901L || defined(__cplusplus)
|
|
#define __inline inline
|
|
#endif
|
|
|
|
#if __STDC_VERSION__ >= 201112L
|
|
#elif defined(__GNUC__)
|
|
#define _Noreturn __attribute__((__noreturn__))
|
|
#else
|
|
#define _Noreturn
|
|
#endif
|
|
|
|
#endif
|