Subject: Re: [boost] GCC 4.6.x + Boost.Signals == failure
From: wash (admin_at_[hidden])
Date: 2011-02-06 19:31:35
-----BEGIN PGP SIGNED MESSAGE-----
On Sat, 5 Feb 2011 01:20:39 -0800 (PST)
Vicente Botet <vicente.botet_at_[hidden]> wrote:
> BTW, no errors for Boost.Signal in last report rev 68358.
Right. No errors, because there is no tester for the broken environment :)
> Which version of Boost.Signals fails?
The last change on the broken file in question was about a year ago. So, I'd say
any version from about a year ago till now compiled against recentish built
Find attached a patch for this bug. The problem: GNU stdlib failure or GNU
stdlib failure compounded by GCC failure. Passing a parameter of type
std::map<>::iterator to std::map<>::erase() is ambigious for silly reasons.
Definitions for std::map<>::erase() in the GNU stdlib are provided for
std::map<>::key_type const& and std::map<>::const_iterator, if c++0x support is
enabled (which apparently seems to be just the "default" state of GCC these
days). If c++0x support is disabled, the working C++99 std::map<>::erase()
which takes an std::map<>::iterator is enabled (in C++0x, erase()'s return type
changes from void to iterator).
Bryce Lelbach aka wash
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
-----END PGP SIGNATURE-----
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk