Annex G (informative) Ill-formed, no diagnostic required [ifndr]

G.11 [cpp]: Preprocessing directives [ifndr.cpp]

G.11.1[ifndr:cpp.cond.defined.after.macro]
Specified in: [cpp.cond]

If the expansion of a macro produces the preprocessing token defined the program is ill-formed, no diagnostic required.
[Example 1: #define A defined #if A // IFNDR, defined is generated by macro replacement in controlling expression #endif — end example]