|
Boost-Commit : |
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
};
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk