diff --git a/include/boost/smart_ptr/allocate_unique.hpp b/include/boost/smart_ptr/allocate_unique.hpp index 5dccf0a..a4746c0 100644 --- a/include/boost/smart_ptr/allocate_unique.hpp +++ b/include/boost/smart_ptr/allocate_unique.hpp @@ -93,6 +93,11 @@ public: sp_alloc_ptr() BOOST_SP_NOEXCEPT : p_() { } +#if defined(BOOST_MSVC) && BOOST_MSVC == 1600 + sp_alloc_ptr(T* p) BOOST_SP_NOEXCEPT + : p_(const_cast::type*>(p)) { } +#endif + sp_alloc_ptr(std::size_t, P p) BOOST_SP_NOEXCEPT : p_(p) { } diff --git a/test/allocate_unique_aggregate_test.cpp b/test/allocate_unique_aggregate_test.cpp index 3888e98..f1c558c 100644 --- a/test/allocate_unique_aggregate_test.cpp +++ b/test/allocate_unique_aggregate_test.cpp @@ -6,8 +6,7 @@ Distributed under the Boost Software License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt) */ #include -#if (!defined(BOOST_MSVC) || BOOST_MSVC >= 1700) && \ - (!defined(BOOST_LIBSTDCXX_VERSION) || \ +#if (!defined(BOOST_LIBSTDCXX_VERSION) || \ BOOST_LIBSTDCXX_VERSION >= 46000) && \ !defined(BOOST_NO_CXX11_SMART_PTR) && \ !defined(BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX) diff --git a/test/allocate_unique_args_test.cpp b/test/allocate_unique_args_test.cpp index 06c091f..aafbc3d 100644 --- a/test/allocate_unique_args_test.cpp +++ b/test/allocate_unique_args_test.cpp @@ -6,8 +6,7 @@ Distributed under the Boost Software License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt) */ #include -#if (!defined(BOOST_MSVC) || BOOST_MSVC >= 1700) && \ - (!defined(BOOST_LIBSTDCXX_VERSION) || \ +#if (!defined(BOOST_LIBSTDCXX_VERSION) || \ BOOST_LIBSTDCXX_VERSION >= 46000) && \ !defined(BOOST_NO_CXX11_SMART_PTR) && \ !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) diff --git a/test/allocate_unique_array_construct_test.cpp b/test/allocate_unique_array_construct_test.cpp index c1cb08f..80b9f87 100644 --- a/test/allocate_unique_array_construct_test.cpp +++ b/test/allocate_unique_array_construct_test.cpp @@ -6,8 +6,7 @@ Distributed under the Boost Software License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt) */ #include -#if (!defined(BOOST_MSVC) || BOOST_MSVC >= 1700) && \ - (!defined(BOOST_LIBSTDCXX_VERSION) || \ +#if (!defined(BOOST_LIBSTDCXX_VERSION) || \ BOOST_LIBSTDCXX_VERSION >= 48000) && \ !defined(BOOST_NO_CXX11_SMART_PTR) && \ !defined(BOOST_NO_CXX11_ALLOCATOR) diff --git a/test/allocate_unique_array_noinit_test.cpp b/test/allocate_unique_array_noinit_test.cpp index 5e1afd3..7c9c122 100644 --- a/test/allocate_unique_array_noinit_test.cpp +++ b/test/allocate_unique_array_noinit_test.cpp @@ -6,8 +6,7 @@ Distributed under the Boost Software License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt) */ #include -#if (!defined(BOOST_MSVC) || BOOST_MSVC >= 1700) && \ - (!defined(BOOST_LIBSTDCXX_VERSION) || \ +#if (!defined(BOOST_LIBSTDCXX_VERSION) || \ BOOST_LIBSTDCXX_VERSION >= 48000) && \ !defined(BOOST_NO_CXX11_SMART_PTR) #include diff --git a/test/allocate_unique_array_test.cpp b/test/allocate_unique_array_test.cpp index 23ab664..5901245 100644 --- a/test/allocate_unique_array_test.cpp +++ b/test/allocate_unique_array_test.cpp @@ -6,8 +6,7 @@ Distributed under the Boost Software License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt) */ #include -#if (!defined(BOOST_MSVC) || BOOST_MSVC >= 1700) && \ - (!defined(BOOST_LIBSTDCXX_VERSION) || \ +#if (!defined(BOOST_LIBSTDCXX_VERSION) || \ BOOST_LIBSTDCXX_VERSION >= 48000) && \ !defined(BOOST_NO_CXX11_SMART_PTR) #include diff --git a/test/allocate_unique_array_throws_test.cpp b/test/allocate_unique_array_throws_test.cpp index 4890d85..64670bb 100644 --- a/test/allocate_unique_array_throws_test.cpp +++ b/test/allocate_unique_array_throws_test.cpp @@ -6,8 +6,7 @@ Distributed under the Boost Software License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt) */ #include -#if (!defined(BOOST_MSVC) || BOOST_MSVC >= 1700) && \ - (!defined(BOOST_LIBSTDCXX_VERSION) || \ +#if (!defined(BOOST_LIBSTDCXX_VERSION) || \ BOOST_LIBSTDCXX_VERSION >= 48000) && \ !defined(BOOST_NO_CXX11_SMART_PTR) #include diff --git a/test/allocate_unique_array_value_test.cpp b/test/allocate_unique_array_value_test.cpp index f5cfa33..256b492 100644 --- a/test/allocate_unique_array_value_test.cpp +++ b/test/allocate_unique_array_value_test.cpp @@ -6,8 +6,7 @@ Distributed under the Boost Software License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt) */ #include -#if (!defined(BOOST_MSVC) || BOOST_MSVC >= 1700) && \ - (!defined(BOOST_LIBSTDCXX_VERSION) || \ +#if (!defined(BOOST_LIBSTDCXX_VERSION) || \ BOOST_LIBSTDCXX_VERSION >= 48000) && \ !defined(BOOST_NO_CXX11_SMART_PTR) #include diff --git a/test/allocate_unique_arrays_test.cpp b/test/allocate_unique_arrays_test.cpp index b636c7c..43354f0 100644 --- a/test/allocate_unique_arrays_test.cpp +++ b/test/allocate_unique_arrays_test.cpp @@ -6,8 +6,7 @@ Distributed under the Boost Software License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt) */ #include -#if (!defined(BOOST_MSVC) || BOOST_MSVC >= 1700) && \ - (!defined(BOOST_LIBSTDCXX_VERSION) || \ +#if (!defined(BOOST_LIBSTDCXX_VERSION) || \ BOOST_LIBSTDCXX_VERSION >= 48000) && \ !defined(BOOST_NO_CXX11_SMART_PTR) && \ !defined(BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX) diff --git a/test/allocate_unique_noinit_test.cpp b/test/allocate_unique_noinit_test.cpp index abce3bf..d20c106 100644 --- a/test/allocate_unique_noinit_test.cpp +++ b/test/allocate_unique_noinit_test.cpp @@ -6,8 +6,7 @@ Distributed under the Boost Software License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt) */ #include -#if (!defined(BOOST_MSVC) || BOOST_MSVC >= 1700) && \ - (!defined(BOOST_LIBSTDCXX_VERSION) || \ +#if (!defined(BOOST_LIBSTDCXX_VERSION) || \ BOOST_LIBSTDCXX_VERSION >= 46000) && \ !defined(BOOST_NO_CXX11_SMART_PTR) #include diff --git a/test/allocate_unique_test.cpp b/test/allocate_unique_test.cpp index 6757713..862bf97 100644 --- a/test/allocate_unique_test.cpp +++ b/test/allocate_unique_test.cpp @@ -6,8 +6,7 @@ Distributed under the Boost Software License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt) */ #include -#if (!defined(BOOST_MSVC) || BOOST_MSVC >= 1700) && \ - (!defined(BOOST_LIBSTDCXX_VERSION) || \ +#if (!defined(BOOST_LIBSTDCXX_VERSION) || \ BOOST_LIBSTDCXX_VERSION >= 46000) && \ !defined(BOOST_NO_CXX11_SMART_PTR) #include diff --git a/test/allocate_unique_throws_test.cpp b/test/allocate_unique_throws_test.cpp index 564c7f3..7d2d047 100644 --- a/test/allocate_unique_throws_test.cpp +++ b/test/allocate_unique_throws_test.cpp @@ -6,8 +6,7 @@ Distributed under the Boost Software License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt) */ #include -#if (!defined(BOOST_MSVC) || BOOST_MSVC >= 1700) && \ - (!defined(BOOST_LIBSTDCXX_VERSION) || \ +#if (!defined(BOOST_LIBSTDCXX_VERSION) || \ BOOST_LIBSTDCXX_VERSION >= 46000) && \ !defined(BOOST_NO_CXX11_SMART_PTR) #include diff --git a/test/allocate_unique_value_test.cpp b/test/allocate_unique_value_test.cpp index 1b86345..153e731 100644 --- a/test/allocate_unique_value_test.cpp +++ b/test/allocate_unique_value_test.cpp @@ -6,8 +6,7 @@ Distributed under the Boost Software License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt) */ #include -#if (!defined(BOOST_MSVC) || BOOST_MSVC >= 1700) && \ - (!defined(BOOST_LIBSTDCXX_VERSION) || \ +#if (!defined(BOOST_LIBSTDCXX_VERSION) || \ BOOST_LIBSTDCXX_VERSION >= 46000) && \ !defined(BOOST_NO_CXX11_SMART_PTR) #include