Directives can be commented out with single line and multiline comments.
Then the code in which directives are used stays valid and directives
themselves are executed.
Variables defined with #define can be used in #ifdef. Re-factored the
implementation of testing if some variable has been defined.