$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r49113 - in branches/bcbboost: boost/spirit/home/phoenix/core/detail boost/thread/detail libs/thread/test libs/type_traits/test tools/build/v2
From: nicola.musatti_at_[hidden]
Date: 2008-10-02 13:47:30
Author: nmusatti
Date: 2008-10-02 13:47:30 EDT (Thu, 02 Oct 2008)
New Revision: 49113
URL: http://svn.boost.org/trac/boost/changeset/49113
Log:
Merge from trunk
Text files modified: 
   branches/bcbboost/boost/spirit/home/phoenix/core/detail/function_eval.hpp |     8 ++++----                                
   branches/bcbboost/boost/thread/detail/move.hpp                            |     4 ++--                                    
   branches/bcbboost/boost/thread/detail/thread.hpp                          |     4 ++--                                    
   branches/bcbboost/libs/thread/test/test_thread_move.cpp                   |    13 +++++++++++++                           
   branches/bcbboost/libs/type_traits/test/tricky_partial_spec_test.cpp      |     2 ++                                      
   branches/bcbboost/tools/build/v2/nightly.sh                               |     2 +-                                      
   branches/bcbboost/tools/build/v2/roll.sh                                  |     4 ++--                                    
   7 files changed, 26 insertions(+), 11 deletions(-)
Modified: branches/bcbboost/boost/spirit/home/phoenix/core/detail/function_eval.hpp
==============================================================================
--- branches/bcbboost/boost/spirit/home/phoenix/core/detail/function_eval.hpp	(original)
+++ branches/bcbboost/boost/spirit/home/phoenix/core/detail/function_eval.hpp	2008-10-02 13:47:30 EDT (Thu, 02 Oct 2008)
@@ -32,8 +32,8 @@
         template <typename Env, typename F>
         struct result
         {
-            typedef typename F::template result<Env>::type function;
-            typedef typename function::result_type type;
+            typedef typename F::template result<Env>::type fn;
+            typedef typename fn::result_type type;
         };
 
         template <typename RT, typename Env, typename F>
@@ -96,7 +96,7 @@
           , BOOST_PP_ENUM_PARAMS(N, typename A)>
         struct result
         {
-            typedef typename F::template result<Env>::type function;
+            typedef typename F::template result<Env>::type fn;
             BOOST_PP_REPEAT(N, PHOENIX_GET_ARG, _)
 
             typedef BOOST_PP_CAT(mpl::vector, N)
@@ -104,7 +104,7 @@
             args;
 
             typedef typename
-                function::template result<BOOST_PP_ENUM_PARAMS(N, a)>
+                fn::template result<BOOST_PP_ENUM_PARAMS(N, a)>
             function_apply;
 
             typedef typename
Modified: branches/bcbboost/boost/thread/detail/move.hpp
==============================================================================
--- branches/bcbboost/boost/thread/detail/move.hpp	(original)
+++ branches/bcbboost/boost/thread/detail/move.hpp	2008-10-02 13:47:30 EDT (Thu, 02 Oct 2008)
@@ -41,9 +41,9 @@
 
 #ifndef BOOST_NO_SFINAE
     template<typename T>
-    typename enable_if<boost::is_convertible<T&,detail::thread_move_t<T> >, detail::thread_move_t<T> >::type move(T& t)
+    typename enable_if<boost::is_convertible<T&,detail::thread_move_t<T> >, T >::type move(T& t)
     {
-        return t;
+        return T(detail::thread_move_t<T>(t));
     }
 #endif
     
Modified: branches/bcbboost/boost/thread/detail/thread.hpp
==============================================================================
--- branches/bcbboost/boost/thread/detail/thread.hpp	(original)
+++ branches/bcbboost/boost/thread/detail/thread.hpp	2008-10-02 13:47:30 EDT (Thu, 02 Oct 2008)
@@ -339,9 +339,9 @@
         return t;
     }
 #else
-    inline detail::thread_move_t<thread> move(detail::thread_move_t<thread> t)
+    inline thread move(detail::thread_move_t<thread> t)
     {
-        return t;
+        return thread(t);
     }
 #endif
 
Modified: branches/bcbboost/libs/thread/test/test_thread_move.cpp
==============================================================================
--- branches/bcbboost/libs/thread/test/test_thread_move.cpp	(original)
+++ branches/bcbboost/libs/thread/test/test_thread_move.cpp	2008-10-02 13:47:30 EDT (Thu, 02 Oct 2008)
@@ -25,6 +25,18 @@
     x.join();
 }
 
+boost::thread make_thread_return_lvalue()
+{
+    boost::thread t(do_nothing);
+    return boost::move(t);
+}
+
+void test_move_from_function_return_lvalue()
+{
+    boost::thread x=make_thread_return_lvalue();
+    x.join();
+}
+
 
 boost::unit_test_framework::test_suite* init_unit_test_suite(int, char*[])
 {
@@ -33,5 +45,6 @@
 
     test->add(BOOST_TEST_CASE(test_move_on_construction));
     test->add(BOOST_TEST_CASE(test_move_from_function_return));
+    test->add(BOOST_TEST_CASE(test_move_from_function_return_lvalue));
     return test;
 }
Modified: branches/bcbboost/libs/type_traits/test/tricky_partial_spec_test.cpp
==============================================================================
--- branches/bcbboost/libs/type_traits/test/tricky_partial_spec_test.cpp	(original)
+++ branches/bcbboost/libs/type_traits/test/tricky_partial_spec_test.cpp	2008-10-02 13:47:30 EDT (Thu, 02 Oct 2008)
@@ -56,7 +56,9 @@
 //
 
 BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<char&>::value, ALIGNOF(void*));
+#if !defined __CODEGEARC__  // CodeGear cannot parse function references inside alignof
 BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<char (&)(int)>::value, ALIGNOF(void*));
+#endif
 BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<char(&)[4]>::value, ALIGNOF(void*));
 
 BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<Base&,Derived>::value), false);
Modified: branches/bcbboost/tools/build/v2/nightly.sh
==============================================================================
--- branches/bcbboost/tools/build/v2/nightly.sh	(original)
+++ branches/bcbboost/tools/build/v2/nightly.sh	2008-10-02 13:47:30 EDT (Thu, 02 Oct 2008)
@@ -25,5 +25,5 @@
 ./roll.sh > ../roll-log 2>&1
 cd ..
 echo "Uploading packages"
-scp boost-build.zip boost-build.tar.bz2 vladimir_prus_at_[hidden]:/home/groups/b/bo/boost/htdocs/boost-build2 > scp-log
+scp boost-build.zip boost-build.tar.bz2 vladimir_prus,boost_at_[hidden]:/home/groups/b/bo/boost/htdocs/boost-build2 > scp-log
 echo "Nightly build successful"
Modified: branches/bcbboost/tools/build/v2/roll.sh
==============================================================================
--- branches/bcbboost/tools/build/v2/roll.sh	(original)
+++ branches/bcbboost/tools/build/v2/roll.sh	2008-10-02 13:47:30 EDT (Thu, 02 Oct 2008)
@@ -65,5 +65,5 @@
 EOF`
 echo $x
 perl -pi -e "s|</body>|$x</body>|" `find doc -name '*.html'`
-scp -r  doc example boost_build.png *.html hacking.txt vladimir_prus_at_[hidden]:/home/groups/b/bo/boost/htdocs/boost-build2
-scp ../userman.pdf vladimir_prus_at_[hidden]:/home/groups/b/bo/boost/htdocs/boost-build2/doc
+scp -r  doc example boost_build.png *.html hacking.txt vladimir_prus,boost_at_[hidden]:/home/groups/b/bo/boost/htdocs/boost-build2
+scp ../userman.pdf vladimir_prus,boost_at_[hidden]:/home/groups/b/bo/boost/htdocs/boost-build2/doc