$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r55429 - in trunk/boost: config/compiler type_traits
From: john_at_[hidden]
Date: 2009-08-06 05:13:10
Author: johnmaddock
Date: 2009-08-06 05:13:09 EDT (Thu, 06 Aug 2009)
New Revision: 55429
URL: http://svn.boost.org/trac/boost/changeset/55429
Log:
Fixes #2935.
Add new config macro BOOST_MSVC_FULL_VER, and updated type_traits to make use of it.
Text files modified: 
   trunk/boost/config/compiler/visualc.hpp                |     6 ++++++                                  
   trunk/boost/type_traits/has_new_operator.hpp           |     4 ++--                                    
   trunk/boost/type_traits/intrinsics.hpp                 |     2 +-                                      
   trunk/boost/type_traits/is_abstract.hpp                |     4 ++--                                    
   trunk/boost/type_traits/is_base_and_derived.hpp        |     4 ++--                                    
   trunk/boost/type_traits/is_convertible.hpp             |     2 +-                                      
   trunk/boost/type_traits/is_function.hpp                |     4 ++--                                    
   trunk/boost/type_traits/is_member_function_pointer.hpp |     4 ++--                                    
   8 files changed, 18 insertions(+), 12 deletions(-)
Modified: trunk/boost/config/compiler/visualc.hpp
==============================================================================
--- trunk/boost/config/compiler/visualc.hpp	(original)
+++ trunk/boost/config/compiler/visualc.hpp	2009-08-06 05:13:09 EDT (Thu, 06 Aug 2009)
@@ -14,6 +14,12 @@
 
 #define BOOST_MSVC _MSC_VER
 
+#if _MSC_FULL_VER > 100000000
+#  define BOOST_MSVC_FULL_VER _MSC_FULL_VER
+#else
+#  define BOOST_MSVC_FULL_VER (_MSC_FULL_VER * 10)
+#endif
+
 // turn off the warnings before we #include anything
 #pragma warning( disable : 4503 ) // warning: decorated name length exceeded
 
Modified: trunk/boost/type_traits/has_new_operator.hpp
==============================================================================
--- trunk/boost/type_traits/has_new_operator.hpp	(original)
+++ trunk/boost/type_traits/has_new_operator.hpp	2009-08-06 05:13:09 EDT (Thu, 06 Aug 2009)
@@ -85,7 +85,7 @@
             BOOST_STATIC_CONSTANT(unsigned, s1 = sizeof(has_new_operator_impl<T>::template check_sig<T>(0)));
             BOOST_STATIC_CONSTANT(unsigned, s2 = sizeof(has_new_operator_impl<T>::template check_sig2<T>(0)));
         #else
-            #if BOOST_WORKAROUND(_MSC_FULL_VER, >= 140050000)
+            #if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
                 #pragma warning(push)
                 #pragma warning(disable:6334)
             #endif
@@ -93,7 +93,7 @@
             BOOST_STATIC_CONSTANT(unsigned, s1 = sizeof(check_sig<T>(0)));
             BOOST_STATIC_CONSTANT(unsigned, s2 = sizeof(check_sig2<T>(0)));
 
-            #if BOOST_WORKAROUND(_MSC_FULL_VER, >= 140050000)
+            #if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
                 #pragma warning(pop)
             #endif
         #endif
Modified: trunk/boost/type_traits/intrinsics.hpp
==============================================================================
--- trunk/boost/type_traits/intrinsics.hpp	(original)
+++ trunk/boost/type_traits/intrinsics.hpp	2009-08-06 05:13:09 EDT (Thu, 06 Aug 2009)
@@ -82,7 +82,7 @@
 #   define BOOST_HAS_TYPE_TRAITS_INTRINSICS
 #endif
 
-#if defined(BOOST_MSVC) && defined(_MSC_FULL_VER) && (_MSC_FULL_VER >=140050215)
+#if defined(BOOST_MSVC) && defined(BOOST_MSVC_FULL_VER) && (BOOST_MSVC_FULL_VER >=140050215)
 #   include <boost/type_traits/is_same.hpp>
 
 #   define BOOST_IS_UNION(T) __is_union(T)
Modified: trunk/boost/type_traits/is_abstract.hpp
==============================================================================
--- trunk/boost/type_traits/is_abstract.hpp	(original)
+++ trunk/boost/type_traits/is_abstract.hpp	2009-08-06 05:13:09 EDT (Thu, 06 Aug 2009)
@@ -94,12 +94,12 @@
 #ifdef __GNUC__
    BOOST_STATIC_CONSTANT(std::size_t, s1 = sizeof(is_abstract_imp2<T>::template check_sig<T>(0)));
 #else
-#if BOOST_WORKAROUND(_MSC_FULL_VER, >= 140050000)
+#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
 #pragma warning(push)
 #pragma warning(disable:6334)
 #endif
    BOOST_STATIC_CONSTANT(std::size_t, s1 = sizeof(check_sig<T>(0)));
-#if BOOST_WORKAROUND(_MSC_FULL_VER, >= 140050000)
+#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
 #pragma warning(pop)
 #endif
 #endif
Modified: trunk/boost/type_traits/is_base_and_derived.hpp
==============================================================================
--- trunk/boost/type_traits/is_base_and_derived.hpp	(original)
+++ trunk/boost/type_traits/is_base_and_derived.hpp	2009-08-06 05:13:09 EDT (Thu, 06 Aug 2009)
@@ -133,7 +133,7 @@
 template<typename B, typename D>
 struct is_base_and_derived_impl2
 {
-#if BOOST_WORKAROUND(_MSC_FULL_VER, >= 140050000)
+#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
 #pragma warning(push)
 #pragma warning(disable:6334)
 #endif
@@ -156,7 +156,7 @@
 
     BOOST_STATIC_CONSTANT(bool, value =
         sizeof(bd_helper<B,D>::check_sig(Host(), 0)) == sizeof(type_traits::yes_type));
-#if BOOST_WORKAROUND(_MSC_FULL_VER, >= 140050000)
+#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
 #pragma warning(pop)
 #endif
 };
Modified: trunk/boost/type_traits/is_convertible.hpp
==============================================================================
--- trunk/boost/type_traits/is_convertible.hpp	(original)
+++ trunk/boost/type_traits/is_convertible.hpp	2009-08-06 05:13:09 EDT (Thu, 06 Aug 2009)
@@ -256,7 +256,7 @@
 #ifdef BOOST_MSVC
 #pragma warning(push)
 #pragma warning(disable:4244)
-#if BOOST_WORKAROUND(_MSC_FULL_VER, >= 140050000)
+#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
 #pragma warning(disable:6334)
 #endif
 #endif
Modified: trunk/boost/type_traits/is_function.hpp
==============================================================================
--- trunk/boost/type_traits/is_function.hpp	(original)
+++ trunk/boost/type_traits/is_function.hpp	2009-08-06 05:13:09 EDT (Thu, 06 Aug 2009)
@@ -65,7 +65,7 @@
 template <typename T>
 struct is_function_impl
 {
-#if BOOST_WORKAROUND(_MSC_FULL_VER, >= 140050000)
+#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
 #pragma warning(push)
 #pragma warning(disable:6334)
 #endif
@@ -74,7 +74,7 @@
         bool, value = sizeof(::boost::type_traits::is_function_ptr_tester(t))
         == sizeof(::boost::type_traits::yes_type)
         );
-#if BOOST_WORKAROUND(_MSC_FULL_VER, >= 140050000)
+#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
 #pragma warning(pop)
 #endif
 };
Modified: trunk/boost/type_traits/is_member_function_pointer.hpp
==============================================================================
--- trunk/boost/type_traits/is_member_function_pointer.hpp	(original)
+++ trunk/boost/type_traits/is_member_function_pointer.hpp	2009-08-06 05:13:09 EDT (Thu, 06 Aug 2009)
@@ -64,7 +64,7 @@
 {
     template <typename T> struct result_
     {
-#if BOOST_WORKAROUND(_MSC_FULL_VER, >= 140050000)
+#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
 #pragma warning(push)
 #pragma warning(disable:6334)
 #endif
@@ -75,7 +75,7 @@
             bool, value = (
                 1 == sizeof(::boost::type_traits::is_mem_fun_pointer_tester(self_type::make_t))
             ));
-#if BOOST_WORKAROUND(_MSC_FULL_VER, >= 140050000)
+#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
 #pragma warning(pop)
 #endif
     };