1 #pragma once
2 
3 #if defined(_ALL_SOURCE) && !defined(_GNU_SOURCE)
4 #define _GNU_SOURCE 1
5 #endif
6 
7 #if !defined(_BSD_SOURCE)
8 #define _BSD_SOURCE 1
9 #endif
10 
11 #if !defined(_POSIX_SOURCE) && !defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE) && \
12     !defined(_GNU_SOURCE) && !defined(_BSD_SOURCE) && !defined(__STRICT_ANSI__)
13 #define _BSD_SOURCE 1
14 #define _XOPEN_SOURCE 700
15 #endif
16 
17 #if __STDC_VERSION__ >= 199901L
18 #define __restrict restrict
19 #elif !defined(__GNUC__)
20 #define __restrict
21 #endif
22 
23 #if __STDC_VERSION__ >= 199901L || defined(__cplusplus)
24 #define __inline inline
25 #endif
26 
27 #if __STDC_VERSION__ >= 201112L
28 #elif defined(__GNUC__)
29 #define _Noreturn __attribute__((__noreturn__))
30 #else
31 #define _Noreturn
32 #endif
33