workaround for gcc preprocessor bug