Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r82410 - in trunk: boost/thread boost/thread/detail libs/thread/test/sync/mutual_exclusion/locks/unique_lock/cons
From: vicente.botet_at_[hidden]
Date: 2013-01-08 17:00:03


Author: viboes
Date: 2013-01-08 17:00:02 EST (Tue, 08 Jan 2013)
New Revision: 82410
URL: http://svn.boost.org/trac/boost/changeset/82410

Log:
Thread: Added BOOST_THREAD_NO_CXX11_HDR_TUPLE to wrokarround msvc 10.0 behavior providing <tuple> without move semantics
Text files modified:
   trunk/boost/thread/detail/config.hpp | 9 +++++++--
   trunk/boost/thread/lock_factories.hpp | 4 ++--
   trunk/libs/thread/test/sync/mutual_exclusion/locks/unique_lock/cons/make_unique_locks_mutex_pass.cpp | 2 +-
   3 files changed, 10 insertions(+), 5 deletions(-)

Modified: trunk/boost/thread/detail/config.hpp
==============================================================================
--- trunk/boost/thread/detail/config.hpp (original)
+++ trunk/boost/thread/detail/config.hpp 2013-01-08 17:00:02 EST (Tue, 08 Jan 2013)
@@ -69,8 +69,13 @@
 
 #if defined BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX || defined BOOST_NO_CXX11_HDR_INITIALIZER_LIST
 #define BOOST_THREAD_NO_CXX11_HDR_INITIALIZER_LIST
-//#elif defined __GNUC__ && (__GNUC__ < 4 || ( __GNUC__ == 4 && __GNUC_MINOR__ <= 6 ))
-//#define BOOST_THREAD_NO_CXX11_HDR_INITIALIZER_LIST
+#endif
+
+#if defined(BOOST_NO_CXX11_HDR_TUPLE) || defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
+#define BOOST_THREAD_NO_CXX11_HDR_TUPLE
+#elif defined _MSC_VER && _MSC_VER <= 1600
+// C++ features supported by VC++ 10 (aka 2010)
+#define BOOST_THREAD_NO_CXX11_HDR_TUPLE
 #endif
 
 /// BASIC_THREAD_ID

Modified: trunk/boost/thread/lock_factories.hpp
==============================================================================
--- trunk/boost/thread/lock_factories.hpp (original)
+++ trunk/boost/thread/lock_factories.hpp 2013-01-08 17:00:02 EST (Tue, 08 Jan 2013)
@@ -8,7 +8,7 @@
 
 #include <boost/thread/lock_types.hpp>
 #include <boost/thread/lock_algorithms.hpp>
-#if ! defined(BOOST_NO_CXX11_HDR_TUPLE)
+#if ! defined(BOOST_THREAD_NO_CXX11_HDR_TUPLE)
 #include <tuple> // todo change to <boost/tuple.hpp> once Boost.Tuple or Boost.Fusion provides Move semantics.
 #endif
 #include <boost/config/abi_prefix.hpp>
@@ -39,7 +39,7 @@
   {
     return unique_lock<Lockable> (mtx, try_to_lock);
   }
-#if ! defined(BOOST_NO_CXX11_HDR_TUPLE) && ! defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
+#if ! defined(BOOST_THREAD_NO_CXX11_HDR_TUPLE)
 
 #if ! defined BOOST_NO_CXX11_VARIADIC_TEMPLATES
   template <typename ...Lockable>

Modified: trunk/libs/thread/test/sync/mutual_exclusion/locks/unique_lock/cons/make_unique_locks_mutex_pass.cpp
==============================================================================
--- trunk/libs/thread/test/sync/mutual_exclusion/locks/unique_lock/cons/make_unique_locks_mutex_pass.cpp (original)
+++ trunk/libs/thread/test/sync/mutual_exclusion/locks/unique_lock/cons/make_unique_locks_mutex_pass.cpp 2013-01-08 17:00:02 EST (Tue, 08 Jan 2013)
@@ -15,7 +15,7 @@
 #include <boost/thread/thread.hpp>
 #include <boost/detail/lightweight_test.hpp>
 
-#if ! defined(BOOST_NO_CXX11_AUTO_DECLARATIONS) && ! defined BOOST_NO_CXX11_HDR_TUPLE && ! defined BOOST_NO_CXX11_RVALUE_REFERENCES
+#if ! defined(BOOST_NO_CXX11_AUTO_DECLARATIONS) && ! defined BOOST_THREAD_NO_CXX11_HDR_TUPLE && ! defined BOOST_NO_CXX11_RVALUE_REFERENCES
 
 boost::mutex m1;
 boost::mutex m2;


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