Blame include/limits.h

Packit Service 82fcde
/* Copyright (C) 1991-2018 Free Software Foundation, Inc.
Packit Service 82fcde
   This file is part of the GNU C Library.
Packit Service 82fcde
Packit Service 82fcde
   The GNU C Library is free software; you can redistribute it and/or
Packit Service 82fcde
   modify it under the terms of the GNU Lesser General Public
Packit Service 82fcde
   License as published by the Free Software Foundation; either
Packit Service 82fcde
   version 2.1 of the License, or (at your option) any later version.
Packit Service 82fcde
Packit Service 82fcde
   The GNU C Library is distributed in the hope that it will be useful,
Packit Service 82fcde
   but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit Service 82fcde
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit Service 82fcde
   Lesser General Public License for more details.
Packit Service 82fcde
Packit Service 82fcde
   You should have received a copy of the GNU Lesser General Public
Packit Service 82fcde
   License along with the GNU C Library; if not, see
Packit Service 82fcde
   <http://www.gnu.org/licenses/>.  */
Packit Service 82fcde
Packit Service 82fcde
/*
Packit Service 82fcde
 *	ISO C99 Standard: 7.10/5.2.4.2.1 Sizes of integer types	<limits.h>
Packit Service 82fcde
 */
Packit Service 82fcde
Packit Service 82fcde
#ifndef _LIBC_LIMITS_H_
Packit Service 82fcde
#define _LIBC_LIMITS_H_	1
Packit Service 82fcde
Packit Service 82fcde
#define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION
Packit Service 82fcde
#include <bits/libc-header-start.h>
Packit Service 82fcde
Packit Service 82fcde
Packit Service 82fcde
/* Maximum length of any multibyte character in any locale.
Packit Service 82fcde
   We define this value here since the gcc header does not define
Packit Service 82fcde
   the correct value.  */
Packit Service 82fcde
#define MB_LEN_MAX	16
Packit Service 82fcde
Packit Service 82fcde
Packit Service 82fcde
/* If we are not using GNU CC we have to define all the symbols ourself.
Packit Service 82fcde
   Otherwise use gcc's definitions (see below).  */
Packit Service 82fcde
#if !defined __GNUC__ || __GNUC__ < 2
Packit Service 82fcde
Packit Service 82fcde
/* We only protect from multiple inclusion here, because all the other
Packit Service 82fcde
   #include's protect themselves, and in GCC 2 we may #include_next through
Packit Service 82fcde
   multiple copies of this file before we get to GCC's.  */
Packit Service 82fcde
# ifndef _LIMITS_H
Packit Service 82fcde
#  define _LIMITS_H	1
Packit Service 82fcde
Packit Service 82fcde
#include <bits/wordsize.h>
Packit Service 82fcde
Packit Service 82fcde
/* We don't have #include_next.
Packit Service 82fcde
   Define ANSI <limits.h> for standard 32-bit words.  */
Packit Service 82fcde
Packit Service 82fcde
/* These assume 8-bit `char's, 16-bit `short int's,
Packit Service 82fcde
   and 32-bit `int's and `long int's.  */
Packit Service 82fcde
Packit Service 82fcde
/* Number of bits in a `char'.	*/
Packit Service 82fcde
#  define CHAR_BIT	8
Packit Service 82fcde
Packit Service 82fcde
/* Minimum and maximum values a `signed char' can hold.  */
Packit Service 82fcde
#  define SCHAR_MIN	(-128)
Packit Service 82fcde
#  define SCHAR_MAX	127
Packit Service 82fcde
Packit Service 82fcde
/* Maximum value an `unsigned char' can hold.  (Minimum is 0.)  */
Packit Service 82fcde
#  define UCHAR_MAX	255
Packit Service 82fcde
Packit Service 82fcde
/* Minimum and maximum values a `char' can hold.  */
Packit Service 82fcde
#  ifdef __CHAR_UNSIGNED__
Packit Service 82fcde
#   define CHAR_MIN	0
Packit Service 82fcde
#   define CHAR_MAX	UCHAR_MAX
Packit Service 82fcde
#  else
Packit Service 82fcde
#   define CHAR_MIN	SCHAR_MIN
Packit Service 82fcde
#   define CHAR_MAX	SCHAR_MAX
Packit Service 82fcde
#  endif
Packit Service 82fcde
Packit Service 82fcde
/* Minimum and maximum values a `signed short int' can hold.  */
Packit Service 82fcde
#  define SHRT_MIN	(-32768)
Packit Service 82fcde
#  define SHRT_MAX	32767
Packit Service 82fcde
Packit Service 82fcde
/* Maximum value an `unsigned short int' can hold.  (Minimum is 0.)  */
Packit Service 82fcde
#  define USHRT_MAX	65535
Packit Service 82fcde
Packit Service 82fcde
/* Minimum and maximum values a `signed int' can hold.  */
Packit Service 82fcde
#  define INT_MIN	(-INT_MAX - 1)
Packit Service 82fcde
#  define INT_MAX	2147483647
Packit Service 82fcde
Packit Service 82fcde
/* Maximum value an `unsigned int' can hold.  (Minimum is 0.)  */
Packit Service 82fcde
#  define UINT_MAX	4294967295U
Packit Service 82fcde
Packit Service 82fcde
/* Minimum and maximum values a `signed long int' can hold.  */
Packit Service 82fcde
#  if __WORDSIZE == 64
Packit Service 82fcde
#   define LONG_MAX	9223372036854775807L
Packit Service 82fcde
#  else
Packit Service 82fcde
#   define LONG_MAX	2147483647L
Packit Service 82fcde
#  endif
Packit Service 82fcde
#  define LONG_MIN	(-LONG_MAX - 1L)
Packit Service 82fcde
Packit Service 82fcde
/* Maximum value an `unsigned long int' can hold.  (Minimum is 0.)  */
Packit Service 82fcde
#  if __WORDSIZE == 64
Packit Service 82fcde
#   define ULONG_MAX	18446744073709551615UL
Packit Service 82fcde
#  else
Packit Service 82fcde
#   define ULONG_MAX	4294967295UL
Packit Service 82fcde
#  endif
Packit Service 82fcde
Packit Service 82fcde
#  ifdef __USE_ISOC99
Packit Service 82fcde
Packit Service 82fcde
/* Minimum and maximum values a `signed long long int' can hold.  */
Packit Service 82fcde
#   define LLONG_MAX	9223372036854775807LL
Packit Service 82fcde
#   define LLONG_MIN	(-LLONG_MAX - 1LL)
Packit Service 82fcde
Packit Service 82fcde
/* Maximum value an `unsigned long long int' can hold.  (Minimum is 0.)  */
Packit Service 82fcde
#   define ULLONG_MAX	18446744073709551615ULL
Packit Service 82fcde
Packit Service 82fcde
#  endif /* ISO C99 */
Packit Service 82fcde
Packit Service 82fcde
# endif	/* limits.h  */
Packit Service 82fcde
#endif	/* GCC 2.  */
Packit Service 82fcde
Packit Service 82fcde
#endif	/* !_LIBC_LIMITS_H_ */
Packit Service 82fcde
Packit Service 82fcde
 /* Get the compiler's limits.h, which defines almost all the ISO constants.
Packit Service 82fcde
Packit Service 82fcde
    We put this #include_next outside the double inclusion check because
Packit Service 82fcde
    it should be possible to include this file more than once and still get
Packit Service 82fcde
    the definitions from gcc's header.  */
Packit Service 82fcde
#if defined __GNUC__ && !defined _GCC_LIMITS_H_
Packit Service 82fcde
/* `_GCC_LIMITS_H_' is what GCC's file defines.  */
Packit Service 82fcde
# include_next <limits.h>
Packit Service 82fcde
#endif
Packit Service 82fcde
Packit Service 82fcde
/* The <limits.h> files in some gcc versions don't define LLONG_MIN,
Packit Service 82fcde
   LLONG_MAX, and ULLONG_MAX.  Instead only the values gcc defined for
Packit Service 82fcde
   ages are available.  */
Packit Service 82fcde
#if defined __USE_ISOC99 && defined __GNUC__
Packit Service 82fcde
# ifndef LLONG_MIN
Packit Service 82fcde
#  define LLONG_MIN	(-LLONG_MAX-1)
Packit Service 82fcde
# endif
Packit Service 82fcde
# ifndef LLONG_MAX
Packit Service 82fcde
#  define LLONG_MAX	__LONG_LONG_MAX__
Packit Service 82fcde
# endif
Packit Service 82fcde
# ifndef ULLONG_MAX
Packit Service 82fcde
#  define ULLONG_MAX	(LLONG_MAX * 2ULL + 1)
Packit Service 82fcde
# endif
Packit Service 82fcde
#endif
Packit Service 82fcde
Packit Service 82fcde
/* The integer width macros are not defined by GCC's <limits.h> before
Packit Service 82fcde
   GCC 7, or if _GNU_SOURCE rather than
Packit Service 82fcde
   __STDC_WANT_IEC_60559_BFP_EXT__ is used to enable this feature.  */
Packit Service 82fcde
#if __GLIBC_USE (IEC_60559_BFP_EXT)
Packit Service 82fcde
# ifndef CHAR_WIDTH
Packit Service 82fcde
#  define CHAR_WIDTH 8
Packit Service 82fcde
# endif
Packit Service 82fcde
# ifndef SCHAR_WIDTH
Packit Service 82fcde
#  define SCHAR_WIDTH 8
Packit Service 82fcde
# endif
Packit Service 82fcde
# ifndef UCHAR_WIDTH
Packit Service 82fcde
#  define UCHAR_WIDTH 8
Packit Service 82fcde
# endif
Packit Service 82fcde
# ifndef SHRT_WIDTH
Packit Service 82fcde
#  define SHRT_WIDTH 16
Packit Service 82fcde
# endif
Packit Service 82fcde
# ifndef USHRT_WIDTH
Packit Service 82fcde
#  define USHRT_WIDTH 16
Packit Service 82fcde
# endif
Packit Service 82fcde
# ifndef INT_WIDTH
Packit Service 82fcde
#  define INT_WIDTH 32
Packit Service 82fcde
# endif
Packit Service 82fcde
# ifndef UINT_WIDTH
Packit Service 82fcde
#  define UINT_WIDTH 32
Packit Service 82fcde
# endif
Packit Service 82fcde
# ifndef LONG_WIDTH
Packit Service 82fcde
#  define LONG_WIDTH __WORDSIZE
Packit Service 82fcde
# endif
Packit Service 82fcde
# ifndef ULONG_WIDTH
Packit Service 82fcde
#  define ULONG_WIDTH __WORDSIZE
Packit Service 82fcde
# endif
Packit Service 82fcde
# ifndef LLONG_WIDTH
Packit Service 82fcde
#  define LLONG_WIDTH 64
Packit Service 82fcde
# endif
Packit Service 82fcde
# ifndef ULLONG_WIDTH
Packit Service 82fcde
#  define ULLONG_WIDTH 64
Packit Service 82fcde
# endif
Packit Service 82fcde
#endif /* Use IEC_60559_BFP_EXT.  */
Packit Service 82fcde
Packit Service 82fcde
#ifdef	__USE_POSIX
Packit Service 82fcde
/* POSIX adds things to <limits.h>.  */
Packit Service 82fcde
# include <bits/posix1_lim.h>
Packit Service 82fcde
#endif
Packit Service 82fcde
Packit Service 82fcde
#ifdef	__USE_POSIX2
Packit Service 82fcde
# include <bits/posix2_lim.h>
Packit Service 82fcde
#endif
Packit Service 82fcde
Packit Service 82fcde
#ifdef	__USE_XOPEN
Packit Service 82fcde
# include <bits/xopen_lim.h>
Packit Service 82fcde
#endif