id summary reporter owner description type status milestone component version severity resolution keywords cc 5869 The warning stack is not maintained Tsukasa Kusakabe Vladimir Prus " === Problem === When ""#include"" is executed for the following file, the warning stack is destroyed. The cause is to have forgotten to write ""#pragma warning(pop)"". File list * boost/archive/xml_wiarchive.hpp === Impact === When the VisualStudio user uses a specific header, a part of a necessary warning is not displayed. === Reproduction code === {{{ #!cpp #include #pragma warning(error: 4193) //boost/program_options/parsers.hpp #pragma warning(pop) // => warning C4193 #include #pragma warning(pop) // !!! There is not warning. !!! //boost/program_options/variables_map.hpp #pragma warning(pop) // => warning C4193 #include #pragma warning(pop) // !!! There is not warning. !!! int main() { return 0; } }}} === Patch === {{{ #!diff Index: boost/program_options/parsers.hpp =================================================================== --- boost/program_options/parsers.hpp (revision 74236) +++ boost/program_options/parsers.hpp (working copy) @@ -260,6 +260,10 @@ }} +#if defined(BOOST_MSVC) +#pragma warning (pop) +#endif + #undef DECL #include ""boost/program_options/detail/parsers.hpp"" Index: boost/program_options/variables_map.hpp =================================================================== --- boost/program_options/variables_map.hpp (revision 74236) +++ boost/program_options/variables_map.hpp (working copy) @@ -211,4 +211,8 @@ }} +#if defined(BOOST_MSVC) +# pragma warning (pop) +#endif + #endif }}} === Environment === * OS: Windows 7 Professional SP1 * Compiler: {{{ Microsoft Visual Studio 2010 Version 10.0.30319.1 RTMRel Microsoft .NET Framework Version 4.0.30319 RTMRel }}} === Comments === Division origin #5577 " Bugs closed To Be Determined program_options Boost 1.48.0 Problem fixed