Iso c Compilation Time Limit-limits. h

Source: Internet
Author: User

/* Copyright (C) 1991, 1992, 1996, 1997, 1998, 1999, 2000, 2005   Free Software Foundation, Inc.   This file is part of the GNU C Library.   The GNU C Library is free software; you can redistribute it and/or   modify it under the terms of the GNU Lesser General Public   License as published by the Free Software Foundation; either   version 2.1 of the License, or (at your option) any later version.   The GNU C Library is distributed in the hope that it will be useful,   but WITHOUT ANY WARRANTY; without even the implied warranty of   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   Lesser General Public License for more details.   You should have received a copy of the GNU Lesser General Public   License along with the GNU C Library; if not, write to the Free   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA   02111-1307 USA.  *//* *ISO C99 Standard: 7.10/5.2.4.2.1 Sizes of integer types<limits.h> */#ifndef _LIBC_LIMITS_H_#define _LIBC_LIMITS_H_1#include <features.h>/* Maximum length of any multibyte character in any locale.   We define this value here since the gcc header does not define   the correct value.  */#define MB_LEN_MAX16/* If we are not using GNU CC we have to define all the symbols ourself.   Otherwise use gcc's definitions (see below).  */#if !defined __GNUC__ || __GNUC__ < 2/* We only protect from multiple inclusion here, because all the other   #include's protect themselves, and in GCC 2 we may #include_next through   multiple copies of this file before we get to GCC's.  */# ifndef _LIMITS_H#  define _LIMITS_H1#include <bits/wordsize.h>/* We don't have #include_next.   Define ANSI <limits.h> for standard 32-bit words.  *//* These assume 8-bit `char's, 16-bit `short int's,   and 32-bit `int's and `long int's.  *//* Number of bits in a `char'.*/#  define CHAR_BIT8/* Minimum and maximum values a `signed char' can hold.  */#  define SCHAR_MIN(-128)#  define SCHAR_MAX127/* Maximum value an `unsigned char' can hold.  (Minimum is 0.)  */#  define UCHAR_MAX255/* Minimum and maximum values a `char' can hold.  */#  ifdef __CHAR_UNSIGNED__#   define CHAR_MIN0#   define CHAR_MAXUCHAR_MAX#  else#   define CHAR_MINSCHAR_MIN#   define CHAR_MAXSCHAR_MAX#  endif/* Minimum and maximum values a `signed short int' can hold.  */#  define SHRT_MIN(-32768)#  define SHRT_MAX32767/* Maximum value an `unsigned short int' can hold.  (Minimum is 0.)  */#  define USHRT_MAX65535/* Minimum and maximum values a `signed int' can hold.  */#  define INT_MIN(-INT_MAX - 1)#  define INT_MAX2147483647/* Maximum value an `unsigned int' can hold.  (Minimum is 0.)  */#  define UINT_MAX4294967295U/* Minimum and maximum values a `signed long int' can hold.  */#  if __WORDSIZE == 64#   define LONG_MAX9223372036854775807L#  else#   define LONG_MAX2147483647L#  endif#  define LONG_MIN(-LONG_MAX - 1L)/* Maximum value an `unsigned long int' can hold.  (Minimum is 0.)  */#  if __WORDSIZE == 64#   define ULONG_MAX18446744073709551615UL#  else#   define ULONG_MAX4294967295UL#  endif#  ifdef __USE_ISOC99/* Minimum and maximum values a `signed long long int' can hold.  */#   define LLONG_MAX9223372036854775807LL#   define LLONG_MIN(-LLONG_MAX - 1LL)/* Maximum value an `unsigned long long int' can hold.  (Minimum is 0.)  */#   define ULLONG_MAX18446744073709551615ULL#  endif /* ISO C99 */# endif/* limits.h  */#endif/* GCC 2.  */#endif/* !_LIBC_LIMITS_H_ */ /* Get the compiler's limits.h, which defines almost all the ISO constants.    We put this #include_next outside the double inclusion check because    it should be possible to include this file more than once and still get    the definitions from gcc's header.  */#if defined __GNUC__ && !defined _GCC_LIMITS_H_/* `_GCC_LIMITS_H_' is what GCC's file defines.  */# include_next <limits.h>#endif/* The <limits.h> files in some gcc versions don't define LLONG_MIN,   LLONG_MAX, and ULLONG_MAX.  Instead only the values gcc defined for   ages are available.  */#if defined __USE_ISOC99 && defined __GNUC__# ifndef LLONG_MIN#  define LLONG_MIN(-LLONG_MAX-1)# endif# ifndef LLONG_MAX#  define LLONG_MAX__LONG_LONG_MAX__# endif# ifndef ULLONG_MAX#  define ULLONG_MAX(LLONG_MAX * 2ULL + 1)# endif#endif#ifdef__USE_POSIX/* POSIX adds things to <limits.h>.  */# include <bits/posix1_lim.h>#endif#ifdef__USE_POSIX2# include <bits/posix2_lim.h>#endif#ifdef__USE_XOPEN# include <bits/xopen_lim.h>#endif
Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.