From 82d4d0a52a34940aae67f36e5cd1b97f8bb11940 Mon Sep 17 00:00:00 2001 From: Aleksey Gurtovoy Date: Mon, 15 Nov 2004 13:12:51 +0000 Subject: [PATCH] GCC workaround [SVN r26217] --- include/boost/mpl/eval_if.hpp | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/include/boost/mpl/eval_if.hpp b/include/boost/mpl/eval_if.hpp index 4b07d9a..cf97d6d 100755 --- a/include/boost/mpl/eval_if.hpp +++ b/include/boost/mpl/eval_if.hpp @@ -18,6 +18,7 @@ #include #include #include +#include #include namespace boost { namespace mpl { @@ -28,13 +29,16 @@ template< , typename BOOST_MPL_AUX_NA_PARAM(F2) > struct eval_if -#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) - : if_::type -{ -#else +#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \ + || ( BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, >= 0x0300) \ + && BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0304)) \ + ) { typedef typename if_::type f_; typedef typename f_::type type; +#else + : if_::type +{ #endif BOOST_MPL_AUX_LAMBDA_SUPPORT(3,eval_if,(C,F1,F2)) }; @@ -47,13 +51,16 @@ template< , typename F2 > struct eval_if_c -#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) - : if_c::type -{ -#else +#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \ + || ( BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, >= 0x0300) \ + && BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0304)) \ + ) { typedef typename if_c::type f_; typedef typename f_::type type; +#else + : if_c::type +{ #endif };