MSVC-8 has no <intrin.h>.

This commit is contained in:
jzmaddock
2017-04-24 18:13:56 +01:00
parent efb84707f0
commit f5eff7d83d

View File

@ -21,7 +21,7 @@
#include <type_traits> #include <type_traits>
#endif #endif
#if (defined(BOOST_MSVC) || (defined(__clang__) && defined(__c2__)) || (defined(BOOST_INTEL) && defined(_MSC_VER))) && (defined(_M_IX86) || defined(_M_X64)) #if ((defined(BOOST_MSVC) && (BOOST_MSVC >= 1600)) || (defined(__clang__) && defined(__c2__)) || (defined(BOOST_INTEL) && defined(_MSC_VER))) && (defined(_M_IX86) || defined(_M_X64))
#include <intrin.h> #include <intrin.h>
#endif #endif
@ -165,7 +165,7 @@ namespace boost {
// make_odd much more efficiently, unfortunately we can't use these if we want // make_odd much more efficiently, unfortunately we can't use these if we want
// the functions to be constexpr as the compiler intrinsics aren't constexpr. // the functions to be constexpr as the compiler intrinsics aren't constexpr.
// //
#if (defined(BOOST_MSVC) || (defined(__clang__) && defined(__c2__)) || (defined(BOOST_INTEL) && defined(_MSC_VER))) && (defined(_M_IX86) || defined(_M_X64)) #if ((defined(BOOST_MSVC) && (BOOST_MSVC >= 1600)) || (defined(__clang__) && defined(__c2__)) || (defined(BOOST_INTEL) && defined(_MSC_VER))) && (defined(_M_IX86) || defined(_M_X64))
#pragma intrinsic(_BitScanForward,) #pragma intrinsic(_BitScanForward,)
template <> template <>
struct gcd_traits<unsigned long> : public gcd_traits_defaults<unsigned long> struct gcd_traits<unsigned long> : public gcd_traits_defaults<unsigned long>