wrap pragma for MSVC