Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r82514 - in trunk: boost/config/compiler libs/config/doc libs/config/doc/html libs/config/doc/html/boost_config
From: bdawes_at_[hidden]
Date: 2013-01-16 21:18:32


Author: bemandawes
Date: 2013-01-16 21:18:31 EST (Wed, 16 Jan 2013)
New Revision: 82514
URL: http://svn.boost.org/trac/boost/changeset/82514

Log:
Add BOOST_MSVC_ENABLE_2012_NOV_CTP macro to allow users to explicitly enable use of VC++ November 2012 Community Technology Preview. C++11 features supplied by this CTP are not enabled by default since they represent unsupported alpha-level code that should not be used for production work.
Text files modified:
   trunk/boost/config/compiler/visualc.hpp | 25 ++++++++++++++-----------
   trunk/libs/config/doc/html/boost_config/boost_macro_reference.html | 19 +++++++++++++++++++
   trunk/libs/config/doc/html/index.html | 2 +-
   trunk/libs/config/doc/macro_reference.qbk | 9 +++++++++
   4 files changed, 43 insertions(+), 12 deletions(-)

Modified: trunk/boost/config/compiler/visualc.hpp
==============================================================================
--- trunk/boost/config/compiler/visualc.hpp (original)
+++ trunk/boost/config/compiler/visualc.hpp 2013-01-16 21:18:31 EST (Wed, 16 Jan 2013)
@@ -134,10 +134,6 @@
 // (Niels Dekker, LKEB, May 2010)
 # define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
 
-#if _MSC_VER < 1600 || !defined(BOOST_STRICT_CONFIG) // 150X == VC++ 9.0
-# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#endif
-
 #ifndef _NATIVE_WCHAR_T_DEFINED
 # define BOOST_NO_INTRINSIC_WCHAR_T
 #endif
@@ -221,24 +217,31 @@
 # define BOOST_NO_CXX11_SCOPED_ENUMS
 #endif // _MSC_VER < 1700
 
-// C++0x features not supported by any versions
+// C++11 features supported by VC++ 11 (aka 2012) November 2012 CTP
+// Because the CTP is unsupported, unrelease, and only alpha quality,
+// it is only supported if BOOST_ENABLE_MSVC_2012_NOV_CTP is defined.
+//
+#if _MSC_FULL_VER < 170051025 || !defined(BOOST_MSVC_ENABLE_2012_NOV_CTP)
+# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
+# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
+# define BOOST_NO_CXX11_RAW_LITERALS
+# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
+# define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
+#endif
+
+// C++11 features not supported by any versions
 #define BOOST_NO_CXX11_CHAR16_T
 #define BOOST_NO_CXX11_CHAR32_T
 #define BOOST_NO_CXX11_CONSTEXPR
 #define BOOST_NO_CXX11_DECLTYPE_N3276
 #define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
 #define BOOST_NO_CXX11_DELETED_FUNCTIONS
-#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
-#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
 #define BOOST_NO_CXX11_NOEXCEPT
-#define BOOST_NO_CXX11_RAW_LITERALS
 #define BOOST_NO_CXX11_TEMPLATE_ALIASES
 #define BOOST_NO_CXX11_UNICODE_LITERALS
-#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
 #define BOOST_NO_SFINAE_EXPR
 #define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
+
 //
 // prefix and suffix headers:
 //

Modified: trunk/libs/config/doc/html/boost_config/boost_macro_reference.html
==============================================================================
--- trunk/libs/config/doc/html/boost_config/boost_macro_reference.html (original)
+++ trunk/libs/config/doc/html/boost_config/boost_macro_reference.html 2013-01-16 21:18:31 EST (Wed, 16 Jan 2013)
@@ -3105,6 +3105,25 @@
 </blockquote></div>
               </td>
 </tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_MSVC_ENABLE_2012_NOV_CTP</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ For Microsoft Visual C++ 2012, enable the C++11 features supplied
+ by the November 2012 Community Technology Preview. These features
+ are not automatically enabled because the CTP is non-supported
+ alpha code that is not recommended for production use. This macro
+ must be defined before including any Boost headers, and must be
+ defined for all translation units in the program, including Boost
+ library builds. This macro will no longer have any effect once
+ an official Microsoft release supports the CTP features.
+ </p>
+ </td>
+</tr>
 </tbody>
 </table></div>
 </div>

Modified: trunk/libs/config/doc/html/index.html
==============================================================================
--- trunk/libs/config/doc/html/index.html (original)
+++ trunk/libs/config/doc/html/index.html 2013-01-16 21:18:31 EST (Wed, 16 Jan 2013)
@@ -951,7 +951,7 @@
 </div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"><p><small>Last revised: January 03, 2013 at 13:01:40 GMT</small></p></td>
+<td align="left"><p><small>Last revised: January 17, 2013 at 02:10:17 GMT</small></p></td>
 <td align="right"><div class="copyright-footer"></div></td>
 </tr></table>
 <hr>

Modified: trunk/libs/config/doc/macro_reference.qbk
==============================================================================
--- trunk/libs/config/doc/macro_reference.qbk (original)
+++ trunk/libs/config/doc/macro_reference.qbk 2013-01-16 21:18:31 EST (Wed, 16 Jan 2013)
@@ -724,6 +724,15 @@
 ``
 ]
 ]]
+[[`BOOST_MSVC_ENABLE_2012_NOV_CTP`][
+For Microsoft Visual C++ 2012, enable the C++11 features supplied by the
+November 2012 Community Technology Preview. These features are not automatically
+enabled because the CTP is non-supported alpha code that is not recommended
+for production use. This macro must be defined before including any Boost headers,
+and must be defined for all translation units in the program, including Boost library builds.
+This macro will no longer have any effect once an official Microsoft
+release supports the CTP features.
+]]
 ]
 
 [endsect]


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