Boost C++ Libraries: Ticket #9088: I/O Exception state & status savers may cause std::terminate in C++11 https://svn.boost.org/trac10/ticket/9088 <p> The <code>boost::io::basic_ios_iostate_saver</code> and <code>boost::io::basic_ios_exception_saver</code> class templates in file "boost/io/ios_state.hpp" alter the I/O exception state and trigger-mask, respectively, in their constructors and destructors. When a change in either makes the two statuses have a non-zero result when combined with bitwise-and, an exception is thrown. </p> <p> A potentially throwing destructor is problematic enough, but C++11 adds a new source of trouble. C++11 declares all destructors with no exception specification to be <code>noexcept</code> by default, which makes all imported pre-C++11 types with a throwing destructor to call <code>std::terminate</code> if they throw. The (immediate) fix would be to add a <code>noexcept(false)</code> specification to those destructors when used in C++11 mode. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/9088 Trac 1.4.3 Daryle Walker Sat, 07 Sep 2013 13:21:11 GMT <link>https://svn.boost.org/trac10/ticket/9088#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/9088#comment:1</guid> <description> <p> Class template <code>boost::io::basic_ios_all_saver</code>, in the same header file, has the same issue (as it's a pseudo-composite class). </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Robert Ramey</dc:creator> <pubDate>Thu, 27 Oct 2016 19:54:38 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/9088#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/9088#comment:2</guid> <description> <p> It seems that this is causing test failure on the library for the last 3 years. Any chance of getting this fixed? </p> </description> <category>Ticket</category> </item> </channel> </rss>