Annex C (informative) Compatibility [diff]

C.1 C++ and ISO C++ 2023 [diff.cpp23]

C.1.6 [cpp]: preprocessing directives [diff.cpp23.cpp]

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++.