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,,