...
A common but noncompliant practice is to choose a reserved name for a macro used in a preprocessor conditional guarding against multiple inclusions of a header file (see also PRE06-C. Enclose header files in an inclusion guard). The name may clash with reserved names defined by the implementation of the C++ standard template library in its headers or with reserved names implicitly predefined by the compiler even when no C++ standard library header is included.
...