This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21 Core Issues List revision 112e. See for the official list.


2581. Undefined behavior for predefined macros

Section: 15.11  [cpp.predefined]     Status: open     Submitter: US     Date: 2019-10-23     Liaison: SG12

(From National Body comments US 148 and US 149 on the C++20 DIS.)

Subclause 15.11 [cpp.predefined] paragraph 4 specifies:

If any of the pre-defined macro names in this subclause, or the identifier defined, is the subject of a #define or a #undef preprocessing directive, the behavior is undefined.

Undefined behavior during lexing is not acceptable. This ought to be ill-formed.

Additional notes (January, 2023):

Forwarded to SG12 with paper issue 1412, by decision of the CWG and SG12 chairs.