xref: /aosp_15_r20/external/musl/include/features.h (revision c9945492fdd68bbe62686c5b452b4dc1be3f8453)
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