Subject: [Boost-bugs] [Boost C++ Libraries] #5868: The warning stack is not maintained
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2011-09-05 11:58:10
#5868: The warning stack is not maintained
-------------------------------------------------------+--------------------
Reporter: Tsukasa Kusakabe <kusakabe@â¦> | Owner: ramey
Type: Bugs | Status: new
Milestone: To Be Determined | Component: serialization
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 a misuse of "#pragma warning(default: warning-number-list)".
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>
#include <boost/exception/all.hpp>
#pragma warning(error: 4193)
//boost/archive/xml_wiarchive.hpp
#pragma warning(pop) // => warning C4193
#include <boost/archive/xml_wiarchive.hpp>
#pragma warning(pop) // !!! There is not warning. !!!
#pragma warning(pop) // !!! There is not warning. !!!
int main() {
return 0;
}
}}}
=== Patch ===
{{{
#!diff
Index: boost/archive/xml_wiarchive.hpp
===================================================================
--- boost/archive/xml_wiarchive.hpp (revision 74236)
+++ boost/archive/xml_wiarchive.hpp (working copy)
@@ -126,8 +126,7 @@
} // namespace boost
#ifdef BOOST_MSVC
-# pragma warning(push)
-# pragma warning(disable : 4511 4512)
+#pragma warning(pop)
#endif
#include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp
pragmas
}}}
=== 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/5868> 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