diff --git a/include/boost/type_traits/cv_traits.hpp b/include/boost/type_traits/cv_traits.hpp index 5878828..a8559de 100644 --- a/include/boost/type_traits/cv_traits.hpp +++ b/include/boost/type_traits/cv_traits.hpp @@ -252,7 +252,17 @@ struct is_volatile template struct add_const { +#if defined(BOOST_MSVC) && BOOST_MSVC <= 1200 + // This bogus warning will appear when add_const is applied to a + // const volatile reference because we can't detect const volatile + // references with MSVC6. +# pragma warning(push) +# pragma warning(disable:4181) // warning C4181: qualifier applied to reference type ignored +#endif typedef T const type; +#if defined(BOOST_MSVC) && BOOST_MSVC <= 1200 +# pragma warning(pop) +#endif }; // * convert a type T to volatile type - add_volatile // this is not required since the result is always @@ -261,7 +271,17 @@ struct add_const template struct add_volatile { +#if defined(BOOST_MSVC) && BOOST_MSVC <= 1200 + // This bogus warning will appear when add_const is applied to a + // const volatile reference because we can't detect const volatile + // references with MSVC6. +# pragma warning(push) +# pragma warning(disable:4181) // warning C4181: qualifier applied to reference type ignored +#endif typedef T volatile type; +#if defined(BOOST_MSVC) && BOOST_MSVC <= 1200 +# pragma warning(pop) +#endif }; #ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION template