Go to the documentation of this file.
    9#ifndef __CLANG_LIMITS_H 
   10#define __CLANG_LIMITS_H 
   12#if defined(__MVS__) && __has_include_next(<limits.h>) 
   13#include_next <limits.h> 
   18#if defined __GNUC__ && !defined _GCC_LIMITS_H_ 
   24#if __STDC_HOSTED__ && __has_include_next(<limits.h>) 
   25#include_next <limits.h> 
   48#define SCHAR_MAX __SCHAR_MAX__ 
   49#define SHRT_MAX  __SHRT_MAX__ 
   50#define INT_MAX   __INT_MAX__ 
   51#define LONG_MAX  __LONG_MAX__ 
   53#define SCHAR_MIN (-__SCHAR_MAX__-1) 
   54#define SHRT_MIN  (-__SHRT_MAX__ -1) 
   55#define INT_MIN   (-__INT_MAX__  -1) 
   56#define LONG_MIN  (-__LONG_MAX__ -1L) 
   58#define UCHAR_MAX (__SCHAR_MAX__*2  +1) 
   59#if __SHRT_WIDTH__ < __INT_WIDTH__ 
   60#define USHRT_MAX (__SHRT_MAX__ * 2 + 1) 
   62#define USHRT_MAX (__SHRT_MAX__ * 2U + 1U) 
   64#define UINT_MAX  (__INT_MAX__  *2U +1U) 
   65#define ULONG_MAX (__LONG_MAX__ *2UL+1UL) 
   71#define CHAR_BIT  __CHAR_BIT__ 
   74#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L 
   75#define BOOL_WIDTH   __BOOL_WIDTH__ 
   76#define CHAR_WIDTH   CHAR_BIT 
   77#define SCHAR_WIDTH  CHAR_BIT 
   78#define UCHAR_WIDTH  CHAR_BIT 
   79#define USHRT_WIDTH  __SHRT_WIDTH__ 
   80#define SHRT_WIDTH   __SHRT_WIDTH__ 
   81#define UINT_WIDTH   __INT_WIDTH__ 
   82#define INT_WIDTH    __INT_WIDTH__ 
   83#define ULONG_WIDTH  __LONG_WIDTH__ 
   84#define LONG_WIDTH   __LONG_WIDTH__ 
   85#define ULLONG_WIDTH __LLONG_WIDTH__ 
   86#define LLONG_WIDTH  __LLONG_WIDTH__ 
   88#define BITINT_MAXWIDTH __BITINT_MAXWIDTH__ 
   91#ifdef __CHAR_UNSIGNED__   
   93#define CHAR_MAX UCHAR_MAX 
   95#define CHAR_MIN SCHAR_MIN 
   96#define CHAR_MAX __SCHAR_MAX__ 
  102#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) ||              \ 
  103    (defined(__cplusplus) && __cplusplus >= 201103L) 
  109#define LLONG_MAX  __LONG_LONG_MAX__ 
  110#define LLONG_MIN  (-__LONG_LONG_MAX__-1LL) 
  111#define ULLONG_MAX (__LONG_LONG_MAX__*2ULL+1ULL) 
  119#if (defined(__GNU_LIBRARY__) ? defined(__USE_GNU)                             \ 
  120                              : !defined(__STRICT_ANSI__)) ||                  \ 
  127#define LONG_LONG_MAX  __LONG_LONG_MAX__ 
  128#define LONG_LONG_MIN  (-__LONG_LONG_MAX__-1LL) 
  129#define ULONG_LONG_MAX (__LONG_LONG_MAX__*2ULL+1ULL)