$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r85319 - in trunk: boost/type_traits libs/type_traits/doc libs/type_traits/doc/html libs/type_traits/doc/html/boost_typetraits/reference libs/type_traits/doc/html/index
From: antoshkka_at_[hidden]
Date: 2013-08-12 09:25:02
Author: apolukhin
Date: 2013-08-12 09:25:01 EDT (Mon, 12 Aug 2013)
New Revision: 85319
URL: http://svn.boost.org/trac/boost/changeset/85319
Log:
Intel compiler: do not use SFINAE with decltype/sizeof on deleted functions. Use fallback mode instead (refs #8802)
Text files modified: 
   trunk/boost/type_traits/is_copy_constructible.hpp                                     |     8 +++++++-                                
   trunk/libs/type_traits/doc/html/boost_typetraits/reference/is_copy_constructible.html |     6 +++---                                  
   trunk/libs/type_traits/doc/html/index.html                                            |     2 +-                                      
   trunk/libs/type_traits/doc/html/index/s11.html                                        |     2 +-                                      
   trunk/libs/type_traits/doc/html/index/s12.html                                        |     2 +-                                      
   trunk/libs/type_traits/doc/html/index/s13.html                                        |     2 +-                                      
   trunk/libs/type_traits/doc/html/index/s14.html                                        |     2 +-                                      
   trunk/libs/type_traits/doc/is_copy_constructible.qbk                                  |     6 +++---                                  
   8 files changed, 18 insertions(+), 12 deletions(-)
Modified: trunk/boost/type_traits/is_copy_constructible.hpp
==============================================================================
--- trunk/boost/type_traits/is_copy_constructible.hpp	Mon Aug 12 09:23:35 2013	(r85318)
+++ trunk/boost/type_traits/is_copy_constructible.hpp	2013-08-12 09:25:01 EDT (Mon, 12 Aug 2013)	(r85319)
@@ -26,7 +26,13 @@
 
 template <bool DerivedFromNoncopyable, class T>
 struct is_copy_constructible_impl2 {
-#ifndef BOOST_NO_CXX11_DELETED_FUNCTIONS
+
+// Intel compiler has problems with SFINAE for copy constructors and deleted functions:
+//
+// error: function *function_name* cannot be referenced -- it is a deleted function
+// static boost::type_traits::yes_type test(T1&, decltype(T1(boost::declval<T1&>()))* = 0);
+//                                                        ^ 
+#if !defined(BOOST_NO_CXX11_DELETED_FUNCTIONS) && !defined(BOOST_INTEL_CXX_VERSION)
 
 #ifdef BOOST_NO_CXX11_DECLTYPE
     template <class T1>
Modified: trunk/libs/type_traits/doc/html/boost_typetraits/reference/is_copy_constructible.html
==============================================================================
--- trunk/libs/type_traits/doc/html/boost_typetraits/reference/is_copy_constructible.html	Mon Aug 12 09:23:35 2013	(r85318)
+++ trunk/libs/type_traits/doc/html/boost_typetraits/reference/is_copy_constructible.html	2013-08-12 09:25:01 EDT (Mon, 12 Aug 2013)	(r85319)
@@ -51,9 +51,9 @@
       </p>
 <p>
         If your compiler does not support C++11 deleted functions (<code class="computeroutput"><span class="special">=</span> <span class="keyword">delete</span></code>)
-        derive your classes from <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">noncopyable</span></code>
-        or mark them with <code class="computeroutput"><span class="identifier">BOOST_MOVABLE_BUT_NOT_COPYABLE</span><span class="special">(</span><span class="identifier">T</span><span class="special">)</span></code>
-        to show that class is noncopyable.
+        or does not support SFINAE for the deleted constructors, then derive your
+        classes from <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">noncopyable</span></code> or mark them with <code class="computeroutput"><span class="identifier">BOOST_MOVABLE_BUT_NOT_COPYABLE</span><span class="special">(</span><span class="identifier">T</span><span class="special">)</span></code> to show
+        that class is noncopyable.
       </p>
 <p>
         Trait does not care about access modifiers, so if you see errors like this:
Modified: trunk/libs/type_traits/doc/html/index.html
==============================================================================
--- trunk/libs/type_traits/doc/html/index.html	Mon Aug 12 09:23:35 2013	(r85318)
+++ trunk/libs/type_traits/doc/html/index.html	2013-08-12 09:25:01 EDT (Mon, 12 Aug 2013)	(r85319)
@@ -217,7 +217,7 @@
   </p>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"><p><small>Last revised: March 02, 2013 at 12:30:44 +0400</small></p></td>
+<td align="left"><p><small>Last revised: July 11, 2013 at 14:27:49 +0400</small></p></td>
 <td align="right"><div class="copyright-footer"></div></td>
 </tr></table>
 <hr>
Modified: trunk/libs/type_traits/doc/html/index/s11.html
==============================================================================
--- trunk/libs/type_traits/doc/html/index/s11.html	Mon Aug 12 09:23:35 2013	(r85318)
+++ trunk/libs/type_traits/doc/html/index/s11.html	2013-08-12 09:25:01 EDT (Mon, 12 Aug 2013)	(r85319)
@@ -24,7 +24,7 @@
 </div>
 <div class="section">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="idp54323824"></a>Class Index</h2></div></div></div>
+<a name="idp54046160"></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>
 <dt>
Modified: trunk/libs/type_traits/doc/html/index/s12.html
==============================================================================
--- trunk/libs/type_traits/doc/html/index/s12.html	Mon Aug 12 09:23:35 2013	(r85318)
+++ trunk/libs/type_traits/doc/html/index/s12.html	2013-08-12 09:25:01 EDT (Mon, 12 Aug 2013)	(r85319)
@@ -24,7 +24,7 @@
 </div>
 <div class="section">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="idp54709840"></a>Typedef Index</h2></div></div></div>
+<a name="idp54432080"></a>Typedef Index</h2></div></div></div>
 <p><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>
 <dt>
Modified: trunk/libs/type_traits/doc/html/index/s13.html
==============================================================================
--- trunk/libs/type_traits/doc/html/index/s13.html	Mon Aug 12 09:23:35 2013	(r85318)
+++ trunk/libs/type_traits/doc/html/index/s13.html	2013-08-12 09:25:01 EDT (Mon, 12 Aug 2013)	(r85319)
@@ -24,7 +24,7 @@
 </div>
 <div class="section">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="idp54737728"></a>Macro Index</h2></div></div></div>
+<a name="idp54460048"></a>Macro Index</h2></div></div></div>
 <p><a class="link" href="s13.html#idx_id_31">B</a></p>
 <div class="variablelist"><dl>
 <dt>
Modified: trunk/libs/type_traits/doc/html/index/s14.html
==============================================================================
--- trunk/libs/type_traits/doc/html/index/s14.html	Mon Aug 12 09:23:35 2013	(r85318)
+++ trunk/libs/type_traits/doc/html/index/s14.html	2013-08-12 09:25:01 EDT (Mon, 12 Aug 2013)	(r85319)
@@ -23,7 +23,7 @@
 </div>
 <div class="section">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="idp54829696"></a>Index</h2></div></div></div>
+<a name="idp54552112"></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>
 <dt>
Modified: trunk/libs/type_traits/doc/is_copy_constructible.qbk
==============================================================================
--- trunk/libs/type_traits/doc/is_copy_constructible.qbk	Mon Aug 12 09:23:35 2013	(r85318)
+++ trunk/libs/type_traits/doc/is_copy_constructible.qbk	2013-08-12 09:25:01 EDT (Mon, 12 Aug 2013)	(r85319)
@@ -22,9 +22,9 @@
 __compat If the compiler does not support partial-specialization of class 
 templates, then this template can not be used.
 
-If your compiler does not support C++11 deleted functions (`= delete`) derive 
-your classes from `boost::noncopyable` or mark them with `BOOST_MOVABLE_BUT_NOT_COPYABLE(T)` 
-to show that class is noncopyable.
+If your compiler does not support C++11 deleted functions (`= delete`) or does not support  
+SFINAE for the deleted constructors, then derive your classes from `boost::noncopyable` or 
+mark them with `BOOST_MOVABLE_BUT_NOT_COPYABLE(T)` to show that class is noncopyable.
 
 Trait does not care about access modifiers, so if you see errors like this: