Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r83202 - sandbox/type_erasure/boost/type_erasure/detail
From: steven_at_[hidden]
Date: 2013-02-28 11:35:34


Author: steven_watanabe
Date: 2013-02-28 11:35:33 EST (Thu, 28 Feb 2013)
New Revision: 83202
URL: http://svn.boost.org/trac/boost/changeset/83202

Log:
Workaround for broken is_convertible on gcc-4.5.
Text files modified:
   sandbox/type_erasure/boost/type_erasure/detail/check_call.hpp | 8 ++++++++
   1 files changed, 8 insertions(+), 0 deletions(-)

Modified: sandbox/type_erasure/boost/type_erasure/detail/check_call.hpp
==============================================================================
--- sandbox/type_erasure/boost/type_erasure/detail/check_call.hpp (original)
+++ sandbox/type_erasure/boost/type_erasure/detail/check_call.hpp 2013-02-28 11:35:33 EST (Thu, 28 Feb 2013)
@@ -115,6 +115,10 @@
>::type
 {};
 
+#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && defined(__GNUC__) && !(__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 6))
+#define BOOST_TYPE_ERASURE_BROKEN_RVALUE_IS_CONVERTIBLE
+#endif
+
 template<class FormalArg, class ActualArg>
 struct check_arg
 {
@@ -125,7 +129,11 @@
>::type
>,
         ::boost::type_erasure::detail::check_placeholder_arg<FormalArg, ActualArg>,
+#ifdef BOOST_TYPE_ERASURE_BROKEN_RVALUE_IS_CONVERTIBLE
+ ::boost::mpl::true_
+#else
         ::boost::is_convertible<ActualArg, FormalArg>
+#endif
>::type type;
 };
 


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