------- Additional Comments From nathan at gcc dot gnu dot org 2005-06-24 15:53 ------- looking carefully, this is exposing an existing bug that we deduce 'const X' against template <class T> void f (T &, void (T::*)() ); this should not happen. Previously we must have been deducing both and then selecting the second one as more specialized.
Although I have not developed a patch, any patch will (more than likely) be non-trivial. I'll work on a fix, but don't think we should hold up 4.0.1 for it. Does 4.0.0 compile spec2005? If it does, then I don't think we expect any performance difference between 4.0.0 and 4.0.1 anyway. If it doesn't, are all of those failures fixed in 4.0.1? If they are not, I don't think this one change matters in that regard. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21799