glibc (2.38)

(root)/
include/
stdc-predef.h
       1  /* Copyright (C) 1991-2023 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  #  define __STDC_IEC_60559_BFP__ 	201404L
      40  # endif
      41  #else
      42  # define __STDC_IEC_559__		1
      43  # define __STDC_IEC_60559_BFP__ 	201404L
      44  #endif
      45  
      46  #ifdef __GCC_IEC_559_COMPLEX
      47  # if __GCC_IEC_559_COMPLEX > 0
      48  #  define __STDC_IEC_559_COMPLEX__	1
      49  #  define __STDC_IEC_60559_COMPLEX__	201404L
      50  # endif
      51  #else
      52  # define __STDC_IEC_559_COMPLEX__	1
      53  # define __STDC_IEC_60559_COMPLEX__	201404L
      54  #endif
      55  
      56  /* wchar_t uses Unicode 10.0.0.  Version 10.0 of the Unicode Standard is
      57     synchronized with ISO/IEC 10646:2017, fifth edition, plus
      58     the following additions from Amendment 1 to the fifth edition:
      59     - 56 emoji characters
      60     - 285 hentaigana
      61     - 3 additional Zanabazar Square characters */
      62  #define __STDC_ISO_10646__		201706L
      63  
      64  #endif