[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