Macros substitute their code during their preprocessor run before compilation, so a completely empty macro doesn't make much sense. However we will make the error msg better.
The error message we were referring to is that all directives should be left aligned (no white space to the left of the #). This would have make the initial issue easier to understand.