
On Tue, Dec 21, 2004 at 04:35:46PM -0000, John Maddock wrote:
According to GCC's bugzilla whether this is wrong is an open Core issue http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17365
I'm not sure which DR Gaby is referring to there, possibly 405 ?
Aha: you're right this is active issue 218 (http://www.open-std.org/jtc1/sc22/wg21/prot/14882fdis/n1729.html#218), so gcc appears to be correct, even though it results in some really unfortunate behaviour.
Thanks for clearing that up,
It's also worth mentioning that nothing in the standard requires libstdc++ to qualify calls to find() etc. If libstdc++ chooses to make those functions points of customisation then they should be left unqualified, so that ADL is invoked intentionally. I don't think it was ever intended for them to be points of customisation, the lack of qualification was an oversight that has been corrected in newer releases. We'd certainly never documented that they were points of customisation. (AFAIK the whole "points of customisation" topic is something that only came up in the last year or two.) All this means that any code that breaks because of this GCC feature is relying on implementation-defined behaviour (as distinct from undefined behaviour). jon -- "Those who don't understand UNIX are doomed to reinvent it, poorly." - Henry Spencer