Subject: [Boost-bugs] [Boost C++ Libraries] #5577: The warning stack is not maintained
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2011-05-27 21:33:32
#5577: The warning stack is not maintained
-------------------------------------------------------+--------------------
Reporter: Tsukasa Kusakabe <kusakabe@â¦> | Owner:
Type: Bugs | Status: new
Milestone: To Be Determined | Component: None
Version: Boost 1.46.1 | Severity: Problem
Keywords: |
-------------------------------------------------------+--------------------
=== Problem ===
When "#include" is executed for the following file, the warning stack is
destroyed.
The cause forgets to write "#pragma warning(pop)" or is a misuse of
"#pragma warning(default: warning-number-list)".
File list
* boost/spirit/home/classic/core/composite/composite.hpp
* boost/spirit/home/classic/core/composite/actions.hpp
* boost/archive/xml_wiarchive.hpp
* boost/program_options/parsers.hpp
* boost/program_options/variables_map.hpp
* boost/test/utils/nullstream.hpp
* boost/test/utils/iterator/ifstream_line_iterator.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/spirit/home/classic/core/composite/composite.hpp
#pragma warning(pop) // => warning C4193
#include <boost/spirit/home/classic/core/composite/composite.hpp>
#pragma warning(pop) // !!! There is not warning. !!!
//boost/spirit/home/classic/core/composite/actions.hpp
#pragma warning(pop) // => warning C4193
#include <boost/spirit/home/classic/core/composite/actions.hpp>
#pragma warning(pop) // !!! There is not warning. !!!
//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. !!!
//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. !!!
//boost/test/utils/nullstream.hpp
#pragma warning(pop) // => warning C4193
#include <boost/test/utils/nullstream.hpp>
#pragma warning(pop) // !!! There is not warning. !!!
//boost/test/utils/iterator/ifstream_line_iterator.hpp
#pragma warning(pop) // => warning C4193
#include <boost/test/utils/iterator/ifstream_line_iterator.hpp>
#pragma warning(pop) // !!! There is not warning. !!!
int main() {
return 0;
}
}}}
=== 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
}}}
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/5577> 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:06 UTC