|
Boost-Commit : |
From: eric_at_[hidden]
Date: 2008-04-21 14:11:02
Author: eric_niebler
Date: 2008-04-21 14:11:01 EDT (Mon, 21 Apr 2008)
New Revision: 44702
URL: http://svn.boost.org/trac/boost/changeset/44702
Log:
work around member pointer issue on older gcc
Text files modified:
branches/proto/v4/boost/proto/detail/decltype.hpp | 12 +++++++++++-
branches/proto/v4/boost/proto/make_expr.hpp | 9 +++++++++
2 files changed, 20 insertions(+), 1 deletions(-)
Modified: branches/proto/v4/boost/proto/detail/decltype.hpp
==============================================================================
--- branches/proto/v4/boost/proto/detail/decltype.hpp (original)
+++ branches/proto/v4/boost/proto/detail/decltype.hpp 2008-04-21 14:11:01 EDT (Mon, 21 Apr 2008)
@@ -48,14 +48,18 @@
{
namespace detail
{
- template<typename T> T make();
+ ////////////////////////////////////////////////////////////////////////////////////////////
+ template<typename T>
+ T make();
+ ////////////////////////////////////////////////////////////////////////////////////////////
template<typename T>
char check_reference(T &);
template<typename T>
char (&check_reference(T const &))[2];
+ ////////////////////////////////////////////////////////////////////////////////////////////
template<typename A0, typename A1>
struct comma_result
{
@@ -80,6 +84,7 @@
typedef void type;
};
+ ////////////////////////////////////////////////////////////////////////////////////////////
template<typename T, typename U = T>
struct result_of_fixup
: mpl::if_c<is_function<T>::value, T *, U>
@@ -91,6 +96,11 @@
{};
template<typename T, typename U>
+ struct result_of_fixup<T const &, U>
+ : result_of_fixup<T, T>
+ {};
+
+ template<typename T, typename U>
struct result_of_fixup<T *, U>
: result_of_fixup<T, U>
{};
Modified: branches/proto/v4/boost/proto/make_expr.hpp
==============================================================================
--- branches/proto/v4/boost/proto/make_expr.hpp (original)
+++ branches/proto/v4/boost/proto/make_expr.hpp 2008-04-21 14:11:01 EDT (Mon, 21 Apr 2008)
@@ -70,6 +70,11 @@
#endif
#include <boost/proto/detail/suffix.hpp>
+ #ifdef _MSC_VER
+ # pragma warning(push)
+ # pragma warning(disable: 4180) // qualifier applied to function type has no meaning; ignored
+ #endif
+
namespace boost
{
/// INTERNAL ONLY
@@ -969,6 +974,10 @@
}}
+ #ifdef _MSC_VER
+ # pragma warning(pop)
+ #endif
+
#undef BOOST_PROTO_AT
#undef BOOST_PROTO_AT_TYPE
#undef BOOST_PROTO_AS_CHILD_AT
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