Boost logo

Boost :

From: Frank Mori Hess (frank.hess_at_[hidden])
Date: 2008-03-21 14:30:32


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Friday 21 March 2008 12:57 pm, Ralf W. Grosse-Kunstleve wrote:
> The shared_ptr (enable_shared_from_this) patch from yesterday breaks our
> gcc 3.2 builds. Below is a fragment from a Boost.Python unit test (but not
> requiring Python) and the error produced by gcc 3.2 (Redhat 8.0). gcc 3.2.3
> (Redhat Workstation 3) has the same problem.
> Is there a way to restore compatibility with the old gcc versions?
> Thanks!

Does the attached patch fix it? I don't have g++ 3.2 installed. I just tried
g++ 3.4.6 and 2.95. 3.4.6 didn't have any problems, but 2.95 did show a
similar problem which the attached one-liner resolved.

- --
Frank
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFH4/7M5vihyNWuA4URAvMWAJwKaMKSHC6DXy66Fld0BSzKyl0LXQCgyooT
G7d/jXvmKwxMADd3Y84Iab4=
=vDkC
-----END PGP SIGNATURE-----

--Boundary-00=_M7/4H08vjrcd10/
Content-Type: text/x-diff; charset="iso-8859-1"; name="esft_old_gcc.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
        filename="esft_old_gcc.patch"

Index: enable_shared_from_this.hpp
===================================================================
--- enable_shared_from_this.hpp (revision 43738)
+++ enable_shared_from_this.hpp (working copy)
@@ -92,7 +92,7 @@
     void _internal_accept_owner(shared_ptr<U> &owner) const
     {
         init_internal_shared_once();
- get_deleter<detail::sp_deleter_wrapper>(_internal_shared_this)->set_deleter(owner);
+ detail::basic_get_deleter<detail::sp_deleter_wrapper>(_internal_shared_this)->set_deleter(owner);
         owner = _internal_shared_this;
         _internal_shared_this.reset();
         _owned = true;

--Boundary-00=_M7/4H08vjrcd10/--


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk