|  | #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 | 
|  | #endif | 
|  |  | 
|  | #if __STDC_VERSION__ >= 201112L | 
|  | #elif defined(__GNUC__) | 
|  | #define _Noreturn __attribute__((__noreturn__)) | 
|  | #else | 
|  | #define _Noreturn | 
|  | #endif | 
|  |  | 
|  | #endif |