preprocessor problem