[climits.syn]

# 17 Language support library [[support]](./#support)

## 17.3 Implementation properties [[support.limits]](support.limits#climits.syn)

### 17.3.6 Header <climits> synopsis [climits.syn]

[ð](#header:%3cclimits%3e)

// all freestanding#define BOOL_WIDTH *see below*#define CHAR_BIT *see below*#define CHAR_WIDTH *see below*#define SCHAR_WIDTH *see below*#define UCHAR_WIDTH *see below*#define USHRT_WIDTH *see below*#define SHRT_WIDTH *see below*#define UINT_WIDTH *see below*#define INT_WIDTH *see below*#define ULONG_WIDTH *see below*#define LONG_WIDTH *see below*#define ULLONG_WIDTH *see below*#define LLONG_WIDTH *see below*#define SCHAR_MIN *see below*#define SCHAR_MAX *see below*#define UCHAR_MAX *see below*#define CHAR_MIN *see below*#define CHAR_MAX *see below*#define MB_LEN_MAX *see below*#define SHRT_MIN *see below*#define SHRT_MAX *see below*#define USHRT_MAX *see below*#define INT_MIN *see below*#define INT_MAX *see below*#define UINT_MAX *see below*#define LONG_MIN *see below*#define LONG_MAX *see below*#define ULONG_MAX *see below*#define LLONG_MIN *see below*#define LLONG_MAX *see below*#define ULLONG_MAX *see below*

[1](#1)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/support.tex#L1807)

The header [<climits>](#header:%3cclimits%3e "17.3.6 Header <climits> synopsis [climits.syn]") defines all macros the same as
the C standard library header [<limits.h>](support.c.headers.general#header:%3climits.h%3e "17.15.1 General [support.c.headers.general]"),
except that it does not define the macro BITINT_MAXWIDTH[.](#1.sentence-1)

[*Note [1](#note-1)*:

Except for the WIDTH macros, CHAR_BIT, and MB_LEN_MAX,
a macro referring to
an integer type T defines a constant whose type is the promoted
type of T ([[conv.prom]](conv.prom "7.3.7 Integral promotions"))[.](#1.sentence-2)

â *end note*]

See also: ISO/IEC 9899:2024, 5.2.4.2.1
