summaryrefslogtreecommitdiff
path: root/libs/type_traits
diff options
context:
space:
mode:
authorDongHun Kwak <dh0128.kwak@samsung.com>2016-03-21 15:45:20 +0900
committerDongHun Kwak <dh0128.kwak@samsung.com>2016-03-21 15:46:37 +0900
commit733b5d5ae2c5d625211e2985ac25728ac3f54883 (patch)
treea5b214744b256f07e1dc2bd7273035a7808c659f /libs/type_traits
parent08c1e93fa36a49f49325a07fe91ff92c964c2b6c (diff)
downloadboost-733b5d5ae2c5d625211e2985ac25728ac3f54883.tar.gz
boost-733b5d5ae2c5d625211e2985ac25728ac3f54883.tar.bz2
boost-733b5d5ae2c5d625211e2985ac25728ac3f54883.zip
Imported Upstream version 1.58.0upstream/1.58.0
Change-Id: If0072143aa26874812e0db6872e1efb10a3e5e94 Signed-off-by: DongHun Kwak <dh0128.kwak@samsung.com>
Diffstat (limited to 'libs/type_traits')
-rw-r--r--libs/type_traits/doc/history.qbk5
-rw-r--r--libs/type_traits/doc/html/boost_typetraits/history.html29
-rw-r--r--libs/type_traits/doc/html/boost_typetraits/intrinsics.html24
-rw-r--r--libs/type_traits/doc/html/index/s11.html2
-rw-r--r--libs/type_traits/doc/html/index/s12.html2
-rw-r--r--libs/type_traits/doc/html/index/s13.html10
-rw-r--r--libs/type_traits/doc/html/index/s14.html12
-rw-r--r--libs/type_traits/doc/intrinsics.qbk2
-rw-r--r--libs/type_traits/test/is_copy_assignable.cpp2
-rw-r--r--libs/type_traits/test/is_copy_constructible_test.cpp2
-rw-r--r--libs/type_traits/test/is_nothrow_move_assignable_test.cpp8
-rw-r--r--libs/type_traits/test/is_nothrow_move_constructible_test.cpp8
12 files changed, 81 insertions, 25 deletions
diff --git a/libs/type_traits/doc/history.qbk b/libs/type_traits/doc/history.qbk
index d1c867206f..0d35f9718f 100644
--- a/libs/type_traits/doc/history.qbk
+++ b/libs/type_traits/doc/history.qbk
@@ -7,6 +7,11 @@
[section:history History]
+[h4 Boost 1.58.0]
+
+* Fixed issue with CUDA on Clang compiler see [@https://svn.boost.org/trac/boost/ticket/10694 #10694].
+* Fixed __is_nothrow_move_assignable and __is_nothrow_move_constructible to work on VC12 and later.
+
[h4 Boost 1.57.0]
* Added new traits __is_copy_assignable and __is_final.
diff --git a/libs/type_traits/doc/html/boost_typetraits/history.html b/libs/type_traits/doc/html/boost_typetraits/history.html
index e37dcde31d..363d9cd797 100644
--- a/libs/type_traits/doc/html/boost_typetraits/history.html
+++ b/libs/type_traits/doc/html/boost_typetraits/history.html
@@ -28,6 +28,21 @@
</h2></div></div></div>
<h5>
<a name="boost_typetraits.history.h0"></a>
+ <span class="phrase"><a name="boost_typetraits.history.boost_1_58_0"></a></span><a class="link" href="history.html#boost_typetraits.history.boost_1_58_0">Boost
+ 1.58.0</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Fixed issue with CUDA on Clang compiler see <a href="https://svn.boost.org/trac/boost/ticket/10694" target="_top">#10694</a>.
+ </li>
+<li class="listitem">
+ Fixed <a class="link" href="reference/is_nothrow_move_assignable.html" title="is_nothrow_move_assignable">is_nothrow_move_assignable</a>
+ and <a class="link" href="reference/is_nothrow_move_constructible.html" title="is_nothrow_move_constructible">is_nothrow_move_constructible</a>
+ to work on VC12 and later.
+ </li>
+</ul></div>
+<h5>
+<a name="boost_typetraits.history.h1"></a>
<span class="phrase"><a name="boost_typetraits.history.boost_1_57_0"></a></span><a class="link" href="history.html#boost_typetraits.history.boost_1_57_0">Boost
1.57.0</a>
</h5>
@@ -41,7 +56,7 @@
</li>
</ul></div>
<h5>
-<a name="boost_typetraits.history.h1"></a>
+<a name="boost_typetraits.history.h2"></a>
<span class="phrase"><a name="boost_typetraits.history.boost_1_56_0"></a></span><a class="link" href="history.html#boost_typetraits.history.boost_1_56_0">Boost
1.56.0</a>
</h5>
@@ -50,7 +65,7 @@
<a href="https://svn.boost.org/trac/boost/ticket/9474" target="_top">#9474</a>.
</li></ul></div>
<h5>
-<a name="boost_typetraits.history.h2"></a>
+<a name="boost_typetraits.history.h3"></a>
<span class="phrase"><a name="boost_typetraits.history.boost_1_55_0"></a></span><a class="link" href="history.html#boost_typetraits.history.boost_1_55_0">Boost
1.55.0</a>
</h5>
@@ -58,7 +73,7 @@
Added new trait <a class="link" href="reference/is_copy_constructible.html" title="is_copy_constructible">is_copy_constructible</a>.
</li></ul></div>
<h5>
-<a name="boost_typetraits.history.h3"></a>
+<a name="boost_typetraits.history.h4"></a>
<span class="phrase"><a name="boost_typetraits.history.boost_1_54_0"></a></span><a class="link" href="history.html#boost_typetraits.history.boost_1_54_0">Boost
1.54.0</a>
</h5>
@@ -69,7 +84,7 @@
<a class="link" href="reference/has_trivial_move_constructor.html" title="has_trivial_move_constructor">has_trivial_move_constructor</a>.
</li></ul></div>
<h5>
-<a name="boost_typetraits.history.h4"></a>
+<a name="boost_typetraits.history.h5"></a>
<span class="phrase"><a name="boost_typetraits.history.boost_1_47_0"></a></span><a class="link" href="history.html#boost_typetraits.history.boost_1_47_0">Boost
1.47.0</a>
</h5>
@@ -84,7 +99,7 @@
</li>
</ul></div>
<h5>
-<a name="boost_typetraits.history.h5"></a>
+<a name="boost_typetraits.history.h6"></a>
<span class="phrase"><a name="boost_typetraits.history.boost_1_45_0"></a></span><a class="link" href="history.html#boost_typetraits.history.boost_1_45_0">Boost
1.45.0</a>
</h5>
@@ -101,7 +116,7 @@
</li>
</ul></div>
<h5>
-<a name="boost_typetraits.history.h6"></a>
+<a name="boost_typetraits.history.h7"></a>
<span class="phrase"><a name="boost_typetraits.history.boost_1_44_0"></a></span><a class="link" href="history.html#boost_typetraits.history.boost_1_44_0">Boost
1.44.0</a>
</h5>
@@ -118,7 +133,7 @@
</li>
</ul></div>
<h5>
-<a name="boost_typetraits.history.h7"></a>
+<a name="boost_typetraits.history.h8"></a>
<span class="phrase"><a name="boost_typetraits.history.boost_1_42_0"></a></span><a class="link" href="history.html#boost_typetraits.history.boost_1_42_0">Boost
1.42.0</a>
</h5>
diff --git a/libs/type_traits/doc/html/boost_typetraits/intrinsics.html b/libs/type_traits/doc/html/boost_typetraits/intrinsics.html
index 80d56262d9..483202fd63 100644
--- a/libs/type_traits/doc/html/boost_typetraits/intrinsics.html
+++ b/libs/type_traits/doc/html/boost_typetraits/intrinsics.html
@@ -286,6 +286,30 @@
<tr>
<td>
<p>
+ BOOST_IS_NOTHROW_MOVE_ASSIGN(T)
+ </p>
+ </td>
+<td>
+ <p>
+ Should evaluate to true T has a non-throwing move assign operator.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ BOOST_IS_NOTHROW_MOVE_CONSTRUCT(T)
+ </p>
+ </td>
+<td>
+ <p>
+ Should evaluate to true T has a non-throwing move constructor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
BOOST_IS_ABSTRACT(T)
</p>
</td>
diff --git a/libs/type_traits/doc/html/index/s11.html b/libs/type_traits/doc/html/index/s11.html
index 7c569b90fd..d9daf0a374 100644
--- a/libs/type_traits/doc/html/index/s11.html
+++ b/libs/type_traits/doc/html/index/s11.html
@@ -24,7 +24,7 @@
</div>
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="idm1548409936"></a>Class Index</h2></div></div></div>
+<a name="idm1548155088"></a>Class Index</h2></div></div></div>
<p><a class="link" href="s11.html#idx_id_0">A</a> <a class="link" href="s11.html#idx_id_2">C</a> <a class="link" href="s11.html#idx_id_3">D</a> <a class="link" href="s11.html#idx_id_4">E</a> <a class="link" href="s11.html#idx_id_5">F</a> <a class="link" href="s11.html#idx_id_6">H</a> <a class="link" href="s11.html#idx_id_7">I</a> <a class="link" href="s11.html#idx_id_8">M</a> <a class="link" href="s11.html#idx_id_9">N</a> <a class="link" href="s11.html#idx_id_10">O</a> <a class="link" href="s11.html#idx_id_11">P</a> <a class="link" href="s11.html#idx_id_12">R</a> <a class="link" href="s11.html#idx_id_13">T</a></p>
<div class="variablelist"><dl class="variablelist">
<dt>
diff --git a/libs/type_traits/doc/html/index/s12.html b/libs/type_traits/doc/html/index/s12.html
index f8fe8cb763..b0d9b57630 100644
--- a/libs/type_traits/doc/html/index/s12.html
+++ b/libs/type_traits/doc/html/index/s12.html
@@ -24,7 +24,7 @@
</div>
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="idm1548150864"></a>Typedef Index</h2></div></div></div>
+<a name="idm1547732176"></a>Typedef Index</h2></div></div></div>
<p><a class="link" href="s12.html#idx_id_15">A</a> <a class="link" href="s12.html#idx_id_20">F</a> <a class="link" href="s12.html#idx_id_27">R</a> <a class="link" href="s12.html#idx_id_28">T</a></p>
<div class="variablelist"><dl class="variablelist">
<dt>
diff --git a/libs/type_traits/doc/html/index/s13.html b/libs/type_traits/doc/html/index/s13.html
index 0cc78611ae..91c0605c3e 100644
--- a/libs/type_traits/doc/html/index/s13.html
+++ b/libs/type_traits/doc/html/index/s13.html
@@ -24,7 +24,7 @@
</div>
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="idm1548128336"></a>Macro Index</h2></div></div></div>
+<a name="idm1547709648"></a>Macro Index</h2></div></div></div>
<p><a class="link" href="s13.html#idx_id_31">B</a></p>
<div class="variablelist"><dl class="variablelist">
<dt>
@@ -148,6 +148,14 @@
</ul></div>
</li>
<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_IS_NOTHROW_MOVE_ASSIGN</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table&#160;1.9.&#160;Macros for Compiler Intrinsics"><span class="index-entry-level-1">Macros for Compiler Intrinsics</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_IS_NOTHROW_MOVE_CONSTRUCT</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table&#160;1.9.&#160;Macros for Compiler Intrinsics"><span class="index-entry-level-1">Macros for Compiler Intrinsics</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">BOOST_IS_POD</span></p>
<div class="index"><ul class="index" style="list-style-type: none; ">
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_pod.html" title="is_pod"><span class="index-entry-level-1">is_pod</span></a></p></li>
diff --git a/libs/type_traits/doc/html/index/s14.html b/libs/type_traits/doc/html/index/s14.html
index e96ebc22bf..125a9827c7 100644
--- a/libs/type_traits/doc/html/index/s14.html
+++ b/libs/type_traits/doc/html/index/s14.html
@@ -23,7 +23,7 @@
</div>
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="idm1547935184"></a>Index</h2></div></div></div>
+<a name="idm1547512400"></a>Index</h2></div></div></div>
<p><a class="link" href="s14.html#idx_id_45">A</a> <a class="link" href="s14.html#idx_id_46">B</a> <a class="link" href="s14.html#idx_id_47">C</a> <a class="link" href="s14.html#idx_id_48">D</a> <a class="link" href="s14.html#idx_id_49">E</a> <a class="link" href="s14.html#idx_id_50">F</a> <a class="link" href="s14.html#idx_id_51">H</a> <a class="link" href="s14.html#idx_id_52">I</a> <a class="link" href="s14.html#idx_id_53">M</a> <a class="link" href="s14.html#idx_id_54">N</a> <a class="link" href="s14.html#idx_id_55">O</a> <a class="link" href="s14.html#idx_id_56">P</a> <a class="link" href="s14.html#idx_id_57">R</a> <a class="link" href="s14.html#idx_id_58">T</a> <a class="link" href="s14.html#idx_id_59">U</a></p>
<div class="variablelist"><dl class="variablelist">
<dt>
@@ -193,6 +193,14 @@
</ul></div>
</li>
<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_IS_NOTHROW_MOVE_ASSIGN</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table&#160;1.9.&#160;Macros for Compiler Intrinsics"><span class="index-entry-level-1">Macros for Compiler Intrinsics</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_IS_NOTHROW_MOVE_CONSTRUCT</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table&#160;1.9.&#160;Macros for Compiler Intrinsics"><span class="index-entry-level-1">Macros for Compiler Intrinsics</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">BOOST_IS_POD</span></p>
<div class="index"><ul class="index" style="list-style-type: none; ">
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_pod.html" title="is_pod"><span class="index-entry-level-1">is_pod</span></a></p></li>
@@ -844,6 +852,8 @@
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table&#160;1.9.&#160;Macros for Compiler Intrinsics"><span class="index-entry-level-1">BOOST_IS_EMPTY</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table&#160;1.9.&#160;Macros for Compiler Intrinsics"><span class="index-entry-level-1">BOOST_IS_ENUM</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table&#160;1.9.&#160;Macros for Compiler Intrinsics"><span class="index-entry-level-1">BOOST_IS_FINAL</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table&#160;1.9.&#160;Macros for Compiler Intrinsics"><span class="index-entry-level-1">BOOST_IS_NOTHROW_MOVE_ASSIGN</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table&#160;1.9.&#160;Macros for Compiler Intrinsics"><span class="index-entry-level-1">BOOST_IS_NOTHROW_MOVE_CONSTRUCT</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table&#160;1.9.&#160;Macros for Compiler Intrinsics"><span class="index-entry-level-1">BOOST_IS_POD</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table&#160;1.9.&#160;Macros for Compiler Intrinsics"><span class="index-entry-level-1">BOOST_IS_POLYMORPHIC</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table&#160;1.9.&#160;Macros for Compiler Intrinsics"><span class="index-entry-level-1">BOOST_IS_UNION</span></a></p></li>
diff --git a/libs/type_traits/doc/intrinsics.qbk b/libs/type_traits/doc/intrinsics.qbk
index 4967e47909..c02e5c80e2 100644
--- a/libs/type_traits/doc/intrinsics.qbk
+++ b/libs/type_traits/doc/intrinsics.qbk
@@ -61,6 +61,8 @@ a matter of defining one of more of the following macros:
[[BOOST_HAS_NOTHROW_COPY(T)][Should evaluate to true if `T(t)` can not throw]]
[[BOOST_HAS_NOTHROW_ASSIGN(T)][Should evaluate to true if `T t, u; t = u` can not throw]]
[[BOOST_HAS_VIRTUAL_DESTRUCTOR(T)][Should evaluate to true T has a virtual destructor]]
+ [[BOOST_IS_NOTHROW_MOVE_ASSIGN(T)][Should evaluate to true T has a non-throwing move assign operator.]]
+ [[BOOST_IS_NOTHROW_MOVE_CONSTRUCT(T)][Should evaluate to true T has a non-throwing move constructor.]]
[[BOOST_IS_ABSTRACT(T)][Should evaluate to true if T is an abstract type]]
[[BOOST_IS_BASE_OF(T,U)][Should evaluate to true if T is a base class of U]]
diff --git a/libs/type_traits/test/is_copy_assignable.cpp b/libs/type_traits/test/is_copy_assignable.cpp
index 5171b32fba..d61628fa11 100644
--- a/libs/type_traits/test/is_copy_assignable.cpp
+++ b/libs/type_traits/test/is_copy_assignable.cpp
@@ -22,7 +22,7 @@ struct has {
};
// MSVC can not generate neither default constructor, nor assignment operator,
-// nor copy constructor for `has2` type. Supressing those warnings is essential,
+// nor copy constructor for `has2` type. Suppressing those warnings is essential,
// because we treat warnings as errors in those tests
#if (defined _MSC_VER)
# pragma warning( push )
diff --git a/libs/type_traits/test/is_copy_constructible_test.cpp b/libs/type_traits/test/is_copy_constructible_test.cpp
index 23b58a4624..cbc40300eb 100644
--- a/libs/type_traits/test/is_copy_constructible_test.cpp
+++ b/libs/type_traits/test/is_copy_constructible_test.cpp
@@ -20,7 +20,7 @@ struct has {
};
// MSVC can not generate neither default constructor, nor assignment operator,
-// nor copy constructor for `has2` type. Supressing those warnings is essential,
+// nor copy constructor for `has2` type. Suppressing those warnings is essential,
// because we treat warnings as errors in those tests
#if (defined _MSC_VER)
# pragma warning( push )
diff --git a/libs/type_traits/test/is_nothrow_move_assignable_test.cpp b/libs/type_traits/test/is_nothrow_move_assignable_test.cpp
index 7522a6e927..9240a0ea92 100644
--- a/libs/type_traits/test/is_nothrow_move_assignable_test.cpp
+++ b/libs/type_traits/test/is_nothrow_move_assignable_test.cpp
@@ -195,12 +195,13 @@ BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_nothrow_move_assignable<int[2][4][5][6][3
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_nothrow_move_assignable<UDT>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_nothrow_move_assignable<empty_UDT>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_nothrow_move_assignable<void>::value, false);
-#if !defined(BOOST_NO_CXX11_NOEXCEPT) && !defined(BOOST_NO_SFINAE_EXPR)
+#if (!defined(BOOST_NO_CXX11_NOEXCEPT) && !defined(BOOST_NO_SFINAE_EXPR)) || defined(BOOST_IS_NOTHROW_MOVE_ASSIGN)
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_nothrow_move_assignable<empty_POD_UDT>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_nothrow_move_assignable<POD_UDT>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_nothrow_move_assignable<POD_union_UDT>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_nothrow_move_assignable<empty_POD_union_UDT>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_nothrow_move_assignable<nothrow_assign_UDT>::value, true);
+BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_nothrow_move_assignable<nothrow_move_UDT>::value, true);
#else
// cases we would like to succeed but can't implement in the language:
BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::is_nothrow_move_assignable<empty_POD_UDT>::value, true, false);
@@ -211,11 +212,6 @@ BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::is_nothrow_move_assignable<nothrow_assi
#endif
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_nothrow_move_assignable<nothrow_copy_UDT>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_nothrow_move_assignable<nothrow_construct_UDT>::value, false);
-
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_NO_CXX11_NOEXCEPT)
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_nothrow_move_assignable<nothrow_move_UDT>::value, true);
-#endif
-
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_nothrow_move_assignable<test_abc1>::value, false);
TT_TEST_END
diff --git a/libs/type_traits/test/is_nothrow_move_constructible_test.cpp b/libs/type_traits/test/is_nothrow_move_constructible_test.cpp
index 6f6ccfb1b5..9d258ae562 100644
--- a/libs/type_traits/test/is_nothrow_move_constructible_test.cpp
+++ b/libs/type_traits/test/is_nothrow_move_constructible_test.cpp
@@ -191,12 +191,13 @@ BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_nothrow_move_constructible<int[3][2]>::va
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_nothrow_move_constructible<int[2][4][5][6][3]>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_nothrow_move_constructible<UDT>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_nothrow_move_constructible<void>::value, false);
-#if !defined(BOOST_NO_CXX11_NOEXCEPT) && !defined(BOOST_NO_SFINAE_EXPR)
+#if (!defined(BOOST_NO_CXX11_NOEXCEPT) && !defined(BOOST_NO_SFINAE_EXPR)) || defined(BOOST_IS_NOTHROW_MOVE_CONSTRUCT)
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_nothrow_move_constructible<empty_POD_UDT>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_nothrow_move_constructible<POD_UDT>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_nothrow_move_constructible<POD_union_UDT>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_nothrow_move_constructible<empty_POD_union_UDT>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_nothrow_move_constructible<nothrow_copy_UDT>::value, true);
+BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_nothrow_move_constructible<nothrow_move_UDT>::value, true);
#else
// cases we would like to succeed but can't implement in the language:
BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::is_nothrow_move_constructible<empty_POD_UDT>::value, true, false);
@@ -207,11 +208,6 @@ BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::is_nothrow_move_constructible<nothrow_c
#endif
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_nothrow_move_constructible<nothrow_assign_UDT>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_nothrow_move_constructible<nothrow_construct_UDT>::value, false);
-
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_NO_CXX11_NOEXCEPT)
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_nothrow_move_constructible<nothrow_move_UDT>::value, true);
-#endif
-
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_nothrow_move_constructible<test_abc1>::value, false);
TT_TEST_END