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.
Section: 188.8.131.52.2 [macro.names] Status: C++11 Submitter: Alberto Ganesh Barbati Opened: 2010-11-16 Last modified: 2017-02-03
Priority: Not Prioritized
View all other issues in [macro.names].
View all issues with C++11 status.
A program is currently forbidden to use keywords as macro names. This restriction should be strengthened to include all identifiers that could be used by the library as attribute-tokens (for example noreturn, which is used by header <cstdlib>) and the special identifiers introduced recently for override control (these are not currently used in the library public interface, but could potentially be used by the implementation or in future revisions of the library).
[2011-02-10 Reflector discussion]
Moved to Tentatively Ready after 5 votes.
Modify 184.108.40.206.2 [macro.names] paragraph 2 as follows:
A translation unit shall not #define or #undef names lexically identical to keywords.