1 | /* Copyright (C) 1991-2020 Free Software Foundation, Inc.  |
2 | This file is part of the GNU C Library.  |
3 |   |
4 | The GNU C Library is free software; you can redistribute it and/or  |
5 | modify it under the terms of the GNU Lesser General Public  |
6 | License as published by the Free Software Foundation; either  |
7 | version 2.1 of the License, or (at your option) any later version.  |
8 |   |
9 | The GNU C Library is distributed in the hope that it will be useful,  |
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of  |
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU  |
12 | Lesser General Public License for more details.  |
13 |   |
14 | You should have received a copy of the GNU Lesser General Public  |
15 | License along with the GNU C Library; if not, see  |
16 | <https://www.gnu.org/licenses/>. */  |
17 |   |
18 | #ifndef _STDC_PREDEF_H  |
19 | #define _STDC_PREDEF_H 1  |
20 |   |
21 | /* This header is separate from features.h so that the compiler can  |
22 | include it implicitly at the start of every compilation. It must  |
23 | not itself include <features.h> or any other header that includes  |
24 | <features.h> because the implicit include comes before any feature  |
25 | test macros that may be defined in a source file before it first  |
26 | explicitly includes a system header. GCC knows the name of this  |
27 | header in order to preinclude it. */  |
28 |   |
29 | /* glibc's intent is to support the IEC 559 math functionality, real  |
30 | and complex. If the GCC (4.9 and later) predefined macros  |
31 | specifying compiler intent are available, use them to determine  |
32 | whether the overall intent is to support these features; otherwise,  |
33 | presume an older compiler has intent to support these features and  |
34 | define these macros by default. */  |
35 |   |
36 | #ifdef __GCC_IEC_559  |
37 | # if __GCC_IEC_559 > 0  |
38 | # define __STDC_IEC_559__ 1  |
39 | # endif  |
40 | #else  |
41 | # define __STDC_IEC_559__ 1  |
42 | #endif  |
43 |   |
44 | #ifdef __GCC_IEC_559_COMPLEX  |
45 | # if __GCC_IEC_559_COMPLEX > 0  |
46 | # define __STDC_IEC_559_COMPLEX__ 1  |
47 | # endif  |
48 | #else  |
49 | # define __STDC_IEC_559_COMPLEX__ 1  |
50 | #endif  |
51 |   |
52 | /* wchar_t uses Unicode 10.0.0. Version 10.0 of the Unicode Standard is  |
53 | synchronized with ISO/IEC 10646:2017, fifth edition, plus  |
54 | the following additions from Amendment 1 to the fifth edition:  |
55 | - 56 emoji characters  |
56 | - 285 hentaigana  |
57 | - 3 additional Zanabazar Square characters */  |
58 | #define __STDC_ISO_10646__ 201706L  |
59 |   |
60 | #endif  |
61 | |