fixed bug in Compiler__call__ and small refactor of conditional preprocessor code