[pkg-boost-commits] r14697 - in boost/branches/1.46.1/debian: . patches

Steven Michael Robbins smr at alioth.debian.org
Wed Jan 4 06:08:16 UTC 2012


Author: smr
Date: 2012-01-04 06:08:15 +0000 (Wed, 04 Jan 2012)
New Revision: 14697

Added:
   boost/branches/1.46.1/debian/patches/trac-ticket-73202.patch
Modified:
   boost/branches/1.46.1/debian/changelog
   boost/branches/1.46.1/debian/patches/series
Log:
Fix Boost.Thread and gcc c++0x 

Modified: boost/branches/1.46.1/debian/changelog
===================================================================
--- boost/branches/1.46.1/debian/changelog	2012-01-04 04:05:26 UTC (rev 14696)
+++ boost/branches/1.46.1/debian/changelog	2012-01-04 06:08:15 UTC (rev 14697)
@@ -6,8 +6,11 @@
   * patches/mpi-allocator-c++0x.patch: New.  Workaround to enable using
     Boost.MPI with -std=c++0x mode on gcc 4.6.  Fix will be in gcc 4.6.3
     and 4.7.  Closes: #639862.
+  
+  * patches/trac-ticket-73202.patch: New, from upstream.  Fix for using
+    boost thread and c++0x mode.  Closes: #646580.
 
- -- Steve M. Robbins <smr at debian.org>  Tue, 03 Jan 2012 22:04:53 -0600
+ -- Steve M. Robbins <smr at debian.org>  Wed, 04 Jan 2012 00:07:27 -0600
 
 boost1.46 (1.46.1-7) unstable; urgency=low
 

Modified: boost/branches/1.46.1/debian/patches/series
===================================================================
--- boost/branches/1.46.1/debian/patches/series	2012-01-04 04:05:26 UTC (rev 14696)
+++ boost/branches/1.46.1/debian/patches/series	2012-01-04 06:08:15 UTC (rev 14697)
@@ -13,3 +13,4 @@
 changeset_71050.diff
 gcc-4.7-threading-detection.patch
 mpi-allocator-c++0x.patch
+trac-ticket-73202.patch

Added: boost/branches/1.46.1/debian/patches/trac-ticket-73202.patch
===================================================================
--- boost/branches/1.46.1/debian/patches/trac-ticket-73202.patch	                        (rev 0)
+++ boost/branches/1.46.1/debian/patches/trac-ticket-73202.patch	2012-01-04 06:08:15 UTC (rev 14697)
@@ -0,0 +1,95 @@
+Description: Fix usage of thread with C++0x
+ Add copy constructor/assignment - in C++0x, move disables implicit copy.
+ Patch taken from upstream change set 73202.
+Author: Peter Dimov
+Bug: 646580
+
+
+
+Index: boost/smart_ptr/shared_ptr.hpp
+===================================================================
+--- a/boost/smart_ptr/shared_ptr.hpp	(revision 73201)
++++ b/boost/smart_ptr/shared_ptr.hpp	(revision 73202)
+@@ -197,8 +197,18 @@
+         boost::detail::sp_enable_shared_from_this( this, p, p );
+     }
+ 
+-//  generated copy constructor, destructor are fine
++//  generated copy constructor, destructor are fine...
+ 
++#if defined( BOOST_HAS_RVALUE_REFS )
++
++// ... except in C++0x, move disables the implicit copy
++
++    shared_ptr( shared_ptr const & r ): px( r.px ), pn( r.pn ) // never throws
++    {
++    }
++
++#endif
++
+     template<class Y>
+     explicit shared_ptr(weak_ptr<Y> const & r): pn(r.pn) // may throw
+     {
+Index: boost/smart_ptr/weak_ptr.hpp
+===================================================================
+--- a/boost/smart_ptr/weak_ptr.hpp	(revision 73201)
++++ b/boost/smart_ptr/weak_ptr.hpp	(revision 73202)
+@@ -40,9 +40,25 @@
+     {
+     }
+ 
+-//  generated copy constructor, assignment, destructor are fine
++//  generated copy constructor, assignment, destructor are fine...
+ 
++#if defined( BOOST_HAS_RVALUE_REFS )
+ 
++// ... except in C++0x, move disables the implicit copy
++
++    weak_ptr( weak_ptr const & r ): px( r.px ), pn( r.pn ) // never throws
++    {
++    }
++
++    weak_ptr & operator=( weak_ptr const & r ) // never throws
++    {
++        px = r.px;
++        pn = r.pn;
++        return *this;
++    }
++
++#endif
++
+ //
+ //  The "obvious" converting constructor implementation:
+ //
+Index: boost/smart_ptr/shared_array.hpp
+===================================================================
+--- a/boost/smart_ptr/shared_array.hpp	(revision 73201)
++++ b/boost/smart_ptr/shared_array.hpp	(revision 73202)
+@@ -69,8 +69,26 @@
+     {
+     }
+ 
+-//  generated copy constructor, assignment, destructor are fine
++//  generated copy constructor, destructor are fine...
+ 
++#if defined( BOOST_HAS_RVALUE_REFS )
++
++// ... except in C++0x, move disables the implicit copy
++
++    shared_array( shared_array const & r ): px( r.px ), pn( r.pn ) // never throws
++    {
++    }
++
++#endif
++
++    // assignment
++
++    shared_array & operator=( shared_array const & r ) // never throws
++    {
++        this_type( r ).swap( *this );
++        return *this;
++    }
++
+     void reset(T * p = 0)
+     {
+         BOOST_ASSERT(p == 0 || p != px);




More information about the pkg-boost-commits mailing list