1*c9945492SAndroid Build Coastguard Worker #ifndef _FEATURES_H 2*c9945492SAndroid Build Coastguard Worker #define _FEATURES_H 3*c9945492SAndroid Build Coastguard Worker 4*c9945492SAndroid Build Coastguard Worker #if defined(_ALL_SOURCE) && !defined(_GNU_SOURCE) 5*c9945492SAndroid Build Coastguard Worker #define _GNU_SOURCE 1 6*c9945492SAndroid Build Coastguard Worker #endif 7*c9945492SAndroid Build Coastguard Worker 8*c9945492SAndroid Build Coastguard Worker #if defined(_DEFAULT_SOURCE) && !defined(_BSD_SOURCE) 9*c9945492SAndroid Build Coastguard Worker #define _BSD_SOURCE 1 10*c9945492SAndroid Build Coastguard Worker #endif 11*c9945492SAndroid Build Coastguard Worker 12*c9945492SAndroid Build Coastguard Worker #if !defined(_POSIX_SOURCE) && !defined(_POSIX_C_SOURCE) \ 13*c9945492SAndroid Build Coastguard Worker && !defined(_XOPEN_SOURCE) && !defined(_GNU_SOURCE) \ 14*c9945492SAndroid Build Coastguard Worker && !defined(_BSD_SOURCE) && !defined(__STRICT_ANSI__) 15*c9945492SAndroid Build Coastguard Worker #define _BSD_SOURCE 1 16*c9945492SAndroid Build Coastguard Worker #define _XOPEN_SOURCE 700 17*c9945492SAndroid Build Coastguard Worker #endif 18*c9945492SAndroid Build Coastguard Worker 19*c9945492SAndroid Build Coastguard Worker #if __STDC_VERSION__ >= 199901L 20*c9945492SAndroid Build Coastguard Worker #define __restrict restrict 21*c9945492SAndroid Build Coastguard Worker #elif !defined(__GNUC__) 22*c9945492SAndroid Build Coastguard Worker #define __restrict 23*c9945492SAndroid Build Coastguard Worker #endif 24*c9945492SAndroid Build Coastguard Worker 25*c9945492SAndroid Build Coastguard Worker #if __STDC_VERSION__ >= 199901L || defined(__cplusplus) 26*c9945492SAndroid Build Coastguard Worker #define __inline inline 27*c9945492SAndroid Build Coastguard Worker #elif !defined(__GNUC__) 28*c9945492SAndroid Build Coastguard Worker #define __inline 29*c9945492SAndroid Build Coastguard Worker #endif 30*c9945492SAndroid Build Coastguard Worker 31*c9945492SAndroid Build Coastguard Worker #if __STDC_VERSION__ >= 201112L 32*c9945492SAndroid Build Coastguard Worker #elif defined(__GNUC__) 33*c9945492SAndroid Build Coastguard Worker #define _Noreturn __attribute__((__noreturn__)) 34*c9945492SAndroid Build Coastguard Worker #else 35*c9945492SAndroid Build Coastguard Worker #define _Noreturn 36*c9945492SAndroid Build Coastguard Worker #endif 37*c9945492SAndroid Build Coastguard Worker 38*c9945492SAndroid Build Coastguard Worker #define __REDIR(x,y) __typeof__(x) x __asm__(#y) 39*c9945492SAndroid Build Coastguard Worker 40*c9945492SAndroid Build Coastguard Worker #endif 41