1 /* Copyright (C) 1991-2015 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 <http://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 7.0.0. Version 7.0 of the Unicode Standard is 53 synchronized with ISO/IEC 10646:2012, plus Amendments 1 (published 54 on April, 2013) and 2 (not yet published as of February, 2015). 55 Additionally, it includes the accelerated publication of U+20BD 56 RUBLE SIGN. Therefore Unicode 7.0.0 is between 10646:2012 and 57 10646:2014, and so we use the date ISO/IEC 10646:2012 Amd.1 was 58 published. */ 59 #define __STDC_ISO_10646__ 201304L 60 61 /* We do not support C11 <threads.h>. */ 62 #define __STDC_NO_THREADS__ 1 63 64 #endif 65