Subject: [Boost-bugs] [Boost C++ Libraries] #5869: The warning stack is not maintained
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2011-09-05 12:05:26
#5869: The warning stack is not maintained
-------------------------------------------------------+--------------------
Reporter: Tsukasa Kusakabe <kusakabe@â¦> | Owner: vladimir_prus
Type: Bugs | Status: new
Milestone: To Be Determined | Component: program_options
Version: Boost 1.48.0 | Severity: Problem
Keywords: |
-------------------------------------------------------+--------------------
=== 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 <boost/config.hpp>
#pragma warning(error: 4193)
//boost/program_options/parsers.hpp
#pragma warning(pop) // => warning C4193
#include <boost/program_options/parsers.hpp>
#pragma warning(pop) // !!! There is not warning. !!!
//boost/program_options/variables_map.hpp
#pragma warning(pop) // => warning C4193
#include <boost/program_options/variables_map.hpp>
#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
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/5869> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:07 UTC