...
No other identifiers are reserved. (Note that the POSIX standard extends the set of identifiers reserved by the C Standard to include an open-ended set of its own. See See Portable Operating System Interface (POSIX®), Base Specifications, Issue 7, section 2.2, "The Compilation Environment," in [IEEE Std 1003.1-2013].) The behavior of a program that declares or defines an identifier in a context in which it is reserved or that defines a reserved identifier as a macro name is undefined behavior 106.
...
Such macros should be used only with great care. See PRE31-C. Do not perform Avoid side effects in arguments to unsafe macros and PRE00-C. Prefer inline or static functions to function-like macros for more information.
...
CERT C Secure Coding Standard | PRE00-C. Prefer inline or static functions to function-like macros PRE06-C. Enclose header files in an inclusion guard PRE31-C. Do not perform Avoid side effects in arguments to unsafe macros |
CERT C++ Secure Coding Standard | DCL32-CPP. Do not declare or define a reserved identifier |
ISO/IEC TS 17961 | Using identifiers that are reserved for the implementation [resident] |
...