| 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 | |