[res.on.macro.definitions]

# 16 Library introduction [[library]](./#library)

## 16.4 Library-wide requirements [[requirements]](requirements#res.on.macro.definitions)

### 16.4.6 Conforming implementations [[conforming]](conforming#res.on.macro.definitions)

#### 16.4.6.3 Restrictions on macro definitions [res.on.macro.definitions]

[1](#1)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/lib-intro.tex#L3628)

The names and global function signatures described in [[contents]](contents "16.4.2.2 Library contents") are
reserved to the implementation[.](#1.sentence-1)

[2](#2)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/lib-intro.tex#L3637)

All object-like macros defined by the C standard library and described in this
Clause as expanding to integral constant expressions are also suitable for use
in #if preprocessing directives, unless
explicitly stated otherwise[.](#2.sentence-1)
