Affected subclause: [cpp.replace.general]
Change: Additional restrictions on macro names
. Rationale: Avoid hard to diagnose or non-portable constructs
. Effect on original feature: Keywords,
names of identifiers with special meaning (
[lex.name]),
and (unless otherwise specified)
attribute-tokens
specified in
[dcl.attr]
may not be used as macro names
. For example, valid C++ 2023 code that
defines
post or
pre as macros
is invalid in this revision of C++
.