Negative tests that have else clauses are better inverted, i.e. <code>
#ifndef TEST
no-TEST code
#else
TEST-code
#endif
</code> is better re-written as <code>
#ifdef TEST
TEST-code
#else
no-TEST-code
#endif
</code>