This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of C++11 status.
<cinttypes>
have macro guards?Section: 31.13 [c.files] Status: C++11 Submitter: Howard Hinnant Opened: 2009-02-12 Last modified: 2016-01-28
Priority: Not Prioritized
View all other issues in [c.files].
View all issues with C++11 status.
Discussion:
The C standard says about <inttypes.h>
:
C++ implementations should define these macros only when
__STDC_FORMAT_MACROS
is defined before<inttypes.h>
is included.
The C standard has a similar note about <stdint.h>
. For <cstdint>
we adopted a "thanks but no thanks" policy and documented that fact in 17.4.1 [cstdint.syn]:
... [Note: The macros defined by
<stdint>
are provided unconditionally. In particular, the symbols__STDC_LIMIT_MACROS
and__STDC_CONSTANT_MACROS
(mentioned in C99 footnotes 219, 220, and 222) play no role in C++. — end note]
I recommend we put a similar note in 31.13 [c.files] regarding <cinttypes>
.
[ Batavia (2009-05): ]
We agree with the proposed resolution. Move to Tentatively Ready.
Proposed resolution:
Add to 31.13 [c.files]:
Table 112 describes header
<cinttypes>
. [Note: The macros defined by<cintypes>
are provided unconditionally. In particular, the symbol__STDC_FORMAT_MACROS
(mentioned in C99 footnote 182) plays no role in C++. — end note]