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