Problem with preprocessor conditionals