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

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

G.11.2[ifndr:cpp.cond.defined.malformed]
Specified in: [cpp.cond]

If the defined unary operator is used when it does not match one of the specified grammatical forms, the program is ill-formed, no diagnostic required.
[Example 1: #define A #define B A) #if defined ( B // IFNDR, unary operator defined did not match valid form before replacement #endif — end example]