Home | History | Annotate | Download | only in include
      1 /* This administrivia gets added to the beginning of limits.h
      2    if the system has its own version of limits.h.  */
      3 
      4 /* APPLE LOCAL begin 4401222 */
      5 #ifndef _LIBC_LIMITS_H_
      6 /* Use "..." so that we find syslimits.h only in this same directory.  */
      7 #include "syslimits.h"
      8 #endif
      9 #ifdef _GCC_NEXT_LIMITS_H
     10 #include_next <limits.h>
     11 #undef _GCC_NEXT_LIMITS_H
     12 #endif
     13 /* APPLE LOCAL end 4401222 */
     14 #ifndef _LIMITS_H___
     15 #define _LIMITS_H___
     16 
     17 /* Number of bits in a `char'.  */
     18 #undef CHAR_BIT
     19 #define CHAR_BIT __CHAR_BIT__
     20 
     21 /* Maximum length of a multibyte character.  */
     22 #ifndef MB_LEN_MAX
     23 #define MB_LEN_MAX 1
     24 #endif
     25 
     26 /* Minimum and maximum values a `signed char' can hold.  */
     27 #undef SCHAR_MIN
     28 #define SCHAR_MIN (-SCHAR_MAX - 1)
     29 #undef SCHAR_MAX
     30 #define SCHAR_MAX __SCHAR_MAX__
     31 
     32 /* Maximum value an `unsigned char' can hold.  (Minimum is 0).  */
     33 #undef UCHAR_MAX
     34 #if __SCHAR_MAX__ == __INT_MAX__
     35 # define UCHAR_MAX (SCHAR_MAX * 2U + 1U)
     36 #else
     37 # define UCHAR_MAX (SCHAR_MAX * 2 + 1)
     38 #endif
     39 
     40 /* Minimum and maximum values a `char' can hold.  */
     41 #ifdef __CHAR_UNSIGNED__
     42 # undef CHAR_MIN
     43 # if __SCHAR_MAX__ == __INT_MAX__
     44 #  define CHAR_MIN 0U
     45 # else
     46 #  define CHAR_MIN 0
     47 # endif
     48 # undef CHAR_MAX
     49 # define CHAR_MAX UCHAR_MAX
     50 #else
     51 # undef CHAR_MIN
     52 # define CHAR_MIN SCHAR_MIN
     53 # undef CHAR_MAX
     54 # define CHAR_MAX SCHAR_MAX
     55 #endif
     56 
     57 /* Minimum and maximum values a `signed short int' can hold.  */
     58 #undef SHRT_MIN
     59 #define SHRT_MIN (-SHRT_MAX - 1)
     60 #undef SHRT_MAX
     61 #define SHRT_MAX __SHRT_MAX__
     62 
     63 /* Maximum value an `unsigned short int' can hold.  (Minimum is 0).  */
     64 #undef USHRT_MAX
     65 #if __SHRT_MAX__ == __INT_MAX__
     66 # define USHRT_MAX (SHRT_MAX * 2U + 1U)
     67 #else
     68 # define USHRT_MAX (SHRT_MAX * 2 + 1)
     69 #endif
     70 
     71 /* Minimum and maximum values a `signed int' can hold.  */
     72 #undef INT_MIN
     73 #define INT_MIN (-INT_MAX - 1)
     74 #undef INT_MAX
     75 #define INT_MAX __INT_MAX__
     76 
     77 /* Maximum value an `unsigned int' can hold.  (Minimum is 0).  */
     78 #undef UINT_MAX
     79 #define UINT_MAX (INT_MAX * 2U + 1U)
     80 
     81 /* Minimum and maximum values a `signed long int' can hold.
     82    (Same as `int').  */
     83 #undef LONG_MIN
     84 #define LONG_MIN (-LONG_MAX - 1L)
     85 #undef LONG_MAX
     86 #define LONG_MAX __LONG_MAX__
     87 
     88 /* Maximum value an `unsigned long int' can hold.  (Minimum is 0).  */
     89 #undef ULONG_MAX
     90 #define ULONG_MAX (LONG_MAX * 2UL + 1UL)
     91 
     92 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
     93 /* Minimum and maximum values a `signed long long int' can hold.  */
     94 # undef LLONG_MIN
     95 # define LLONG_MIN (-LLONG_MAX - 1LL)
     96 # undef LLONG_MAX
     97 # define LLONG_MAX __LONG_LONG_MAX__
     98 
     99 /* Maximum value an `unsigned long long int' can hold.  (Minimum is 0).  */
    100 # undef ULLONG_MAX
    101 # define ULLONG_MAX (LLONG_MAX * 2ULL + 1ULL)
    102 #endif
    103 
    104 #if defined (__GNU_LIBRARY__) ? defined (__USE_GNU) : !defined (__STRICT_ANSI__)
    105 /* Minimum and maximum values a `signed long long int' can hold.  */
    106 # undef LONG_LONG_MIN
    107 # define LONG_LONG_MIN (-LONG_LONG_MAX - 1LL)
    108 # undef LONG_LONG_MAX
    109 # define LONG_LONG_MAX __LONG_LONG_MAX__
    110 
    111 /* Maximum value an `unsigned long long int' can hold.  (Minimum is 0).  */
    112 # undef ULONG_LONG_MAX
    113 # define ULONG_LONG_MAX (LONG_LONG_MAX * 2ULL + 1ULL)
    114 #endif
    115 
    116 #endif /* _LIMITS_H___ */
    117 /* APPLE LOCAL begin 4401222 */
    118 /* APPLE LOCAL end 4401222 */
    119