diff --git a/include/boost/fusion/sequence/convert.hpp b/include/boost/fusion/sequence/convert.hpp index b367714c..534d991a 100644 --- a/include/boost/fusion/sequence/convert.hpp +++ b/include/boost/fusion/sequence/convert.hpp @@ -8,6 +8,14 @@ #define FUSION_CONVERT_10022005_1442 #include +#if BOOST_WORKAROUND(BOOST_GCC, < 30500) +#include +#include +#define BOOST_FUSION_WA_GCC34(type1, type2) \ + boost::lazy_disable_if, type1, type2> +#else +#define BOOST_FUSION_WA_GCC34(type1, type2) type1, type2 +#endif namespace boost { namespace fusion { @@ -32,7 +40,7 @@ namespace boost { namespace fusion template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::convert::type + inline typename BOOST_FUSION_WA_GCC34(result_of::convert)::type convert(Sequence& seq) { typedef typename result_of::convert::gen gen; @@ -49,4 +57,5 @@ namespace boost { namespace fusion } }} +#undef BOOST_FUSION_WA_GCC34 #endif