#ifndef _FEATURES_H | |
#define _FEATURES_H | |
#if defined(_ALL_SOURCE) && !defined(_GNU_SOURCE) | |
#define _GNU_SOURCE 1 | |
#endif | |
#if defined(_DEFAULT_SOURCE) && !defined(_BSD_SOURCE) | |
#define _BSD_SOURCE 1 | |
#endif | |
#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 | |
#elif !defined(__GNUC__) | |
#define __inline | |
#endif | |
#if __STDC_VERSION__ >= 201112L | |
#elif defined(__GNUC__) | |
#define _Noreturn __attribute__((__noreturn__)) | |
#else | |
#define _Noreturn | |
#endif | |
#endif |