Go to the documentation of this file.
25 #ifndef __CLANG_LIMITS_H
26 #define __CLANG_LIMITS_H
30 #if defined __GNUC__ && !defined _GCC_LIMITS_H_
31 #define _GCC_LIMITS_H_
36 #if __STDC_HOSTED__ && __has_include_next(<limits.h>)
37 #include_next <limits.h>
60 #define SCHAR_MAX __SCHAR_MAX__
61 #define SHRT_MAX __SHRT_MAX__
62 #define INT_MAX __INT_MAX__
63 #define LONG_MAX __LONG_MAX__
65 #define SCHAR_MIN (-__SCHAR_MAX__-1)
66 #define SHRT_MIN (-__SHRT_MAX__ -1)
67 #define INT_MIN (-__INT_MAX__ -1)
68 #define LONG_MIN (-__LONG_MAX__ -1L)
70 #define UCHAR_MAX (__SCHAR_MAX__*2 +1)
71 #define USHRT_MAX (__SHRT_MAX__ *2 +1)
72 #define UINT_MAX (__INT_MAX__ *2U +1U)
73 #define ULONG_MAX (__LONG_MAX__ *2UL+1UL)
79 #define CHAR_BIT __CHAR_BIT__
81 #ifdef __CHAR_UNSIGNED__
83 #define CHAR_MAX UCHAR_MAX
85 #define CHAR_MIN SCHAR_MIN
86 #define CHAR_MAX __SCHAR_MAX__
92 #if __STDC_VERSION__ >= 199901L || __cplusplus >= 201103L
98 #define LLONG_MAX __LONG_LONG_MAX__
99 #define LLONG_MIN (-__LONG_LONG_MAX__-1LL)
100 #define ULLONG_MAX (__LONG_LONG_MAX__*2ULL+1ULL)
107 #if defined(__GNU_LIBRARY__) ? defined(__USE_GNU) : !defined(__STRICT_ANSI__)
111 #undef ULONG_LONG_MAX
113 #define LONG_LONG_MAX __LONG_LONG_MAX__
114 #define LONG_LONG_MIN (-__LONG_LONG_MAX__-1LL)
115 #define ULONG_LONG_MAX (__LONG_LONG_MAX__*2ULL+1ULL)