diff --git a/include/boost/iostreams/detail/config/gcc.hpp b/include/boost/iostreams/detail/config/gcc.hpp index d1c2730..a620b05 100755 --- a/include/boost/iostreams/detail/config/gcc.hpp +++ b/include/boost/iostreams/detail/config/gcc.hpp @@ -16,8 +16,8 @@ #include // BOOST_INTEL. -#if defined(_GNUC_) && !defined(BOOST_INTEL) -# define BOOST_IOSTREAMS_GCC (_GNUC_ * 100 + __GNUC_MINOR__) +#if defined(__GNUC__) && !defined(BOOST_INTEL) +# define BOOST_IOSTREAMS_GCC (__GNUC__ * 100 + __GNUC_MINOR__) #endif #endif // #ifndef BOOST_IOSTREAMS_DETAIL_CONFIG_GCC_HPP_INCLUDED diff --git a/include/boost/iostreams/detail/config/overload_resolution.hpp b/include/boost/iostreams/detail/config/overload_resolution.hpp index 2337f85..7946742 100755 --- a/include/boost/iostreams/detail/config/overload_resolution.hpp +++ b/include/boost/iostreams/detail/config/overload_resolution.hpp @@ -16,12 +16,13 @@ #include // BOOST_MSVC. #include +#include #if !defined(BOOST_IOSTREAMS_BROKEN_OVERLOAD_RESOLUTION) # if BOOST_WORKAROUND(__MWERKS__, <= 0x3003) || \ BOOST_WORKAROUND(__BORLANDC__, < 0x600) || \ BOOST_WORKAROUND(BOOST_MSVC, <= 1300) || \ - BOOST_WORKAROUND(__GNUC__, == 2) && (__GNUC_MINOR__ <= 95) + BOOST_WORKAROUND(BOOST_IOSTREAMS_GCC, <= 295) \ /**/ # define BOOST_IOSTREAMS_BROKEN_OVERLOAD_RESOLUTION # endif diff --git a/include/boost/iostreams/detail/resolve.hpp b/include/boost/iostreams/detail/resolve.hpp index dd6fb15..c87499e 100755 --- a/include/boost/iostreams/detail/resolve.hpp +++ b/include/boost/iostreams/detail/resolve.hpp @@ -18,6 +18,7 @@ #include #include #include +#include #include #include #include @@ -64,11 +65,9 @@ resolve( const T& t // I suspect that the compilers which require this workaround may // be correct, but I'm not sure why :( - #if BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION, BOOST_TESTED_AT(810)) || \ + #if BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION, BOOST_TESTED_AT(810)) ||\ BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3205)) || \ - !defined(BOOST_INTEL) && ( BOOST_WORKAROUND(__GNUC__, <= 3) || \ - BOOST_WORKAROUND(__GNUC__, == 4) && \ - BOOST_WORKAROUND(__GNUC_MINOR__, BOOST_TESTED_AT(0)) ) \ + BOOST_WORKAROUND(BOOST_IOSTREAMS_GCC, BOOST_TESTED_AT(400)) \ /**/ , typename disable_if< is_iterator_range >::type* = 0 #endif