|
Boost : |
Subject: Re: [boost] [signals] failure to build with recent gcc
From: Adam Butcher (dev.lists_at_[hidden])
Date: 2011-01-18 04:26:30
Hi Patrick,
On Mon, December 20, 2010 1:52 am, Patrick Horgan wrote:
> I get a number of the same failures when doing a clean build of boost
> trunk with a recent gcc (4.6.0).
>
> libs/signals/src/named_slot_map.cpp:105:23: instantiated from here
> error: call of overloaded erase(...[snip]...iterator&) is ambiguous
>
I hit this issue building boost 1.44.0 with gcc trunk last night. The
following patch works around the ambiguity by using const_group_iterator
instead of just group_iterator. Don't know if this is an issue with
boost or gcc but this got it building for me.
Note that I don't know about any performance or run-time issues this
patch may cause -- I just wanted to get it built.
Regards,
Adam
--- boost_1_44_0/libs/signals/src/named_slot_map.cpp
+++ boost_1_44_0/libs/signals/src/named_slot_map.cpp
@@ -102,7 +102,7 @@
i->first.disconnect();
i = next;
}
- groups.erase(group);
+ groups.erase(const_group_iterator(group));
}
}
@@ -125,7 +125,7 @@
}
// Clear out empty groups
- if (empty(g)) groups.erase(g++);
+ if (empty(g)) groups.erase(const_group_iterator(g++));
else ++g;
}
}
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk