Blame bits/libc-header-start.h

Packit 6c4009
/* Handle feature test macros at the start of a header.
Packit 6c4009
   Copyright (C) 2016-2018 Free Software Foundation, Inc.
Packit 6c4009
   This file is part of the GNU C Library.
Packit 6c4009
Packit 6c4009
   The GNU C Library is free software; you can redistribute it and/or
Packit 6c4009
   modify it under the terms of the GNU Lesser General Public
Packit 6c4009
   License as published by the Free Software Foundation; either
Packit 6c4009
   version 2.1 of the License, or (at your option) any later version.
Packit 6c4009
Packit 6c4009
   The GNU C Library is distributed in the hope that it will be useful,
Packit 6c4009
   but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit 6c4009
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit 6c4009
   Lesser General Public License for more details.
Packit 6c4009
Packit 6c4009
   You should have received a copy of the GNU Lesser General Public
Packit 6c4009
   License along with the GNU C Library; if not, see
Packit 6c4009
   <http://www.gnu.org/licenses/>.  */
Packit 6c4009
Packit 6c4009
/* This header is internal to glibc and should not be included outside
Packit 6c4009
   of glibc headers.  Headers including it must define
Packit 6c4009
   __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION first.  This header
Packit 6c4009
   cannot have multiple include guards because ISO C feature test
Packit 6c4009
   macros depend on the definition of the macro when an affected
Packit 6c4009
   header is included, not when the first system header is
Packit 6c4009
   included.  */
Packit 6c4009
Packit 6c4009
#ifndef __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION
Packit 6c4009
# error "Never include <bits/libc-header-start.h> directly."
Packit 6c4009
#endif
Packit 6c4009
Packit 6c4009
#undef __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION
Packit 6c4009
Packit 6c4009
#include <features.h>
Packit 6c4009
Packit 6c4009
/* ISO/IEC TR 24731-2:2010 defines the __STDC_WANT_LIB_EXT2__
Packit 6c4009
   macro.  */
Packit 6c4009
#undef __GLIBC_USE_LIB_EXT2
Packit 6c4009
#if (defined __USE_GNU							\
Packit 6c4009
     || (defined __STDC_WANT_LIB_EXT2__ && __STDC_WANT_LIB_EXT2__ > 0))
Packit 6c4009
# define __GLIBC_USE_LIB_EXT2 1
Packit 6c4009
#else
Packit 6c4009
# define __GLIBC_USE_LIB_EXT2 0
Packit 6c4009
#endif
Packit 6c4009
Packit 6c4009
/* ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__
Packit 6c4009
   macro.  */
Packit 6c4009
#undef __GLIBC_USE_IEC_60559_BFP_EXT
Packit 6c4009
#if defined __USE_GNU || defined __STDC_WANT_IEC_60559_BFP_EXT__
Packit 6c4009
# define __GLIBC_USE_IEC_60559_BFP_EXT 1
Packit 6c4009
#else
Packit 6c4009
# define __GLIBC_USE_IEC_60559_BFP_EXT 0
Packit 6c4009
#endif
Packit 6c4009
Packit 6c4009
/* ISO/IEC TS 18661-4:2015 defines the
Packit 6c4009
   __STDC_WANT_IEC_60559_FUNCS_EXT__ macro.  */
Packit 6c4009
#undef __GLIBC_USE_IEC_60559_FUNCS_EXT
Packit 6c4009
#if defined __USE_GNU || defined __STDC_WANT_IEC_60559_FUNCS_EXT__
Packit 6c4009
# define __GLIBC_USE_IEC_60559_FUNCS_EXT 1
Packit 6c4009
#else
Packit 6c4009
# define __GLIBC_USE_IEC_60559_FUNCS_EXT 0
Packit 6c4009
#endif
Packit 6c4009
Packit 6c4009
/* ISO/IEC TS 18661-3:2015 defines the
Packit 6c4009
   __STDC_WANT_IEC_60559_TYPES_EXT__ macro.  */
Packit 6c4009
#undef __GLIBC_USE_IEC_60559_TYPES_EXT
Packit 6c4009
#if defined __USE_GNU || defined __STDC_WANT_IEC_60559_TYPES_EXT__
Packit 6c4009
# define __GLIBC_USE_IEC_60559_TYPES_EXT 1
Packit 6c4009
#else
Packit 6c4009
# define __GLIBC_USE_IEC_60559_TYPES_EXT 0
Packit 6c4009
#endif