id summary reporter owner description type status milestone component version severity resolution keywords cc 9482 MSVC macros not undefined in boost/move/detail/config_end.hpp Matthias R Ion Gaztañaga "Boost.Move defines several macros in boost/move/detail/config_begin.hpp to silence MSVC warnings. The corresponding cleanup code in boost/move/detail/config_end.hpp is incorrect and fails to properly undefine these macros: {{{ #if defined BOOST_MSVC #pragma warning (pop) #ifdef BOOST_MOVE_DETAIL_CRT_SECURE_NO_DEPRECATE #undef BOOST_MOVE_DETAIL_CRT_SECURE_NO_DEPRECATE #undef _CRT_SECURE_NO_DEPRECATE #endif #ifndef BOOST_MOVE_SCL_SECURE_NO_WARNINGS #undef BOOST_MOVE_SCL_SECURE_NO_WARNINGS #undef _SCL_SECURE_NO_WARNINGS #endif #endif }}} A correct implementation would be {{{ #if defined BOOST_MSVC #pragma warning (pop) #ifdef BOOST_MOVE_CRT_SECURE_NO_DEPRECATE #undef BOOST_MOVE_CRT_SECURE_NO_DEPRECATE #undef _CRT_SECURE_NO_DEPRECATE #endif #ifdef BOOST_MOVE_SCL_SECURE_NO_WARNINGS #undef BOOST_MOVE_SCL_SECURE_NO_WARNINGS #undef _SCL_SECURE_NO_WARNINGS #endif #endif }}} This is quite problematic as the current version either undefines a previously defined macro, or leaks the macro definition, both of which lead to surprising behavior. A patch against current trunk is attached." Bugs closed To Be Determined move Boost 1.55.0 Problem fixed