diff --git a/include/boost/type_traits/is_integral.hpp b/include/boost/type_traits/is_integral.hpp index 50d32a6..cfd5d4f 100644 --- a/include/boost/type_traits/is_integral.hpp +++ b/include/boost/type_traits/is_integral.hpp @@ -39,7 +39,7 @@ BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,char,true) BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,wchar_t,true) #endif -#if defined(BOOST_MSVC) && (BOOST_MSVC == 1200) +#if (defined(BOOST_MSVC) && (BOOST_MSVC == 1200)) || (defined(__INTEL_COMPILER) && defined(_MSC_VER) && (_MSC_VER <= 1300)) BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned __int8,true) BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,__int8,true) BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned __int16,true) diff --git a/include/boost/type_traits/is_polymorphic.hpp b/include/boost/type_traits/is_polymorphic.hpp index 90f6f06..ee73711 100644 --- a/include/boost/type_traits/is_polymorphic.hpp +++ b/include/boost/type_traits/is_polymorphic.hpp @@ -19,13 +19,13 @@ struct is_polymorphic_imp1 struct d1 : public T { d1(); - ~d1(); + ~d1()throw(); char padding[256]; }; struct d2 : public T { d2(); - virtual ~d2(); + virtual ~d2()throw(); #ifndef BOOST_MSVC // for some reason this messes up VC++ when T has virtual bases: virtual void foo(); @@ -81,3 +81,4 @@ BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_polymorphic,T,::boost::detail::is_polymorphic_im #endif +