Affected subclause: [res.on.macro.definitions]
Change: Additional restrictions on macro names
. Rationale: Avoid hard to diagnose or non-portable constructs
. Effect on original feature: Names of attribute identifiers may not be used as macro names
. Valid C++ 2003
code that defines
override,
final,
carries_dependency, or
noreturn as macros is invalid in this
revision of C++
.