diff --git a/include/boost/config/compiler/visualc.hpp b/include/boost/config/compiler/visualc.hpp index 5a86b910..0dcd40b8 100644 --- a/include/boost/config/compiler/visualc.hpp +++ b/include/boost/config/compiler/visualc.hpp @@ -10,16 +10,25 @@ #define BOOST_MSVC _MSC_VER // turn off the warnings before we #include anything -#pragma warning( disable : 4786 ) // ident trunc to '255' chars in debug info #pragma warning( disable : 4503 ) // warning: decorated name length exceeded #if _MSC_VER <= 1200 // 1200 == VC++ 6.0 +#pragma warning( disable : 4786 ) // ident trunc to '255' chars in debug info # define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS # define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS # define BOOST_NO_VOID_RETURNS + // disable min/max macro defines on vc6: + // +# ifndef NOMINMAX +# define NOMINMAX +# endif +#endif #endif -#if (_MSC_VER <= 1300) || !defined(BOOST_STRICT_CONFIG) // VC7 Beta 2 or later +#if (_MSC_VER <= 1300) || !defined(BOOST_STRICT_CONFIG) // VC7 Beta 2 or later +#if !defined(_MSC_EXTENSIONS) && !defined(BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS) // VC7 bug with /Za +# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS +#endif # define BOOST_NO_INCLASS_MEMBER_INITIALIZATION # define BOOST_NO_PRIVATE_IN_AGGREGATE # define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP @@ -37,7 +46,6 @@ # define BOOST_NO_FUNCTION_TEMPLATE_ORDERING # define BOOST_NO_USING_TEMPLATE # define BOOST_NO_SWPRINTF -//# define BOOST_NO_POINTER_TO_MEMBER_CONST // // disable min/max macros if defined: // @@ -47,24 +55,11 @@ # ifdef max # undef max # endif - // disable min/max macro defines on vc6: - // -# ifndef NOMINMAX -# define NOMINMAX -# endif -#endif #ifndef _NATIVE_WCHAR_T_DEFINED # define BOOST_NO_INTRINSIC_WCHAR_T #endif -// -// check for exception handling support: -#ifndef _CPPUNWIND -# define BOOST_NO_EXCEPTIONS -#endif - - #define BOOST_COMPILER "Microsoft Visual C++ version " BOOST_STRINGIZE(_MSC_VER) //