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