|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r85089 - in trunk: boost/variant libs/variant/test
From: antoshkka_at_[hidden]
Date: 2013-07-20 13:20:02
Author: apolukhin
Date: 2013-07-20 13:20:02 EDT (Sat, 20 Jul 2013)
New Revision: 85089
URL: http://svn.boost.org/trac/boost/changeset/85089
Log:
Temporary disable noexcept detection for move assignment for Boost.Variant (exception specification detection for assignment requires call to is_nothrow_move_assignable for each type. But GCC 4.6 fails to do that and complains about incomplete types ) (refs #7911)
Text files modified:
trunk/boost/variant/variant.hpp | 2 +-
trunk/libs/variant/test/rvalue_test.cpp | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
Modified: trunk/boost/variant/variant.hpp
==============================================================================
--- trunk/boost/variant/variant.hpp Sat Jul 20 13:17:10 2013 (r85088)
+++ trunk/boost/variant/variant.hpp 2013-07-20 13:20:02 EDT (Sat, 20 Jul 2013) (r85089)
@@ -2209,7 +2209,7 @@
}
#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
- variant& operator=(variant&& rhs) BOOST_NOEXCEPT_IF(variant_move_noexcept::type::value)
+ variant& operator=(variant&& rhs) // BOOST_NOEXCEPT_IF(variant_move_noexcept::type::value && all move assign operators are noexcept)
{
variant_assign( detail::variant::move(rhs) );
return *this;
Modified: trunk/libs/variant/test/rvalue_test.cpp
==============================================================================
--- trunk/libs/variant/test/rvalue_test.cpp Sat Jul 20 13:17:10 2013 (r85088)
+++ trunk/libs/variant/test/rvalue_test.cpp 2013-07-20 13:20:02 EDT (Sat, 20 Jul 2013) (r85089)
@@ -185,11 +185,11 @@
void run_moves_are_noexcept() {
#ifndef BOOST_NO_CXX11_NOEXCEPT
typedef boost::variant<int, short, double> variant_noexcept_t;
- BOOST_CHECK(boost::is_nothrow_move_assignable<variant_noexcept_t>::value);
+ //BOOST_CHECK(boost::is_nothrow_move_assignable<variant_noexcept_t>::value);
BOOST_CHECK(boost::is_nothrow_move_constructible<variant_noexcept_t>::value);
typedef boost::variant<int, short, double, move_only_structure> variant_except_t;
- BOOST_CHECK(!boost::is_nothrow_move_assignable<variant_except_t>::value);
+ //BOOST_CHECK(!boost::is_nothrow_move_assignable<variant_except_t>::value);
BOOST_CHECK(!boost::is_nothrow_move_constructible<variant_except_t>::value);
#endif
}
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk