work around MSVC preprocessor quirk