
Dear Gennadiy, On Wed, 18 Jan 2012 17:07:19 +0000, Gennadiy Rozental wrote:
Torsten Maehne <Torsten.Maehne <at> gmx.de> writes:
Dear Gennadiy,
thanks for your response. This is the first response at all that I get on ticket #6331.
I've been closely tracking the progress on this ticket and related conversations.
I don't know either why the compiler sees the definition of boost::unit_test::decorator::enable_if in namespace boost::type_of.
I've been somewhat destructed around new year. Let me see if I can figure this out. Frankly I am at loss why would we see this conflict. Symbols are in completely different namespaces.
Thank you, it is good to know that you followed the development around the ticket even though there wasn't any feedback in the trac indicating it. It's true that I submitted the issue at a time of year, where people often have more personal priorities. I can fully understand it. After all, most of us contribute to open source projects in their free time. :-) It would be great if you could figure out what goes wrong there. After all, g++ is a very common compiler and even its latest versions seem to be affected. While digging into the issue, I came across the CHANGES document for g++ 4.7.0 currently under development. It states "G++ now correctly implements the two-phase lookup rules such that an unqualified name used in a template must have an appropriate declaration found either in scope at the point of definition of the template or by argument-dependent lookup at the point of instantiation. As a result, code that relies on a second unqualified lookup at the point of instantiation to find functions declared after the template or in dependent bases will be rejected. The compiler will suggest ways to fix affected code, and using the -fpermissive compiler flag will allow the code to compile with a warning." <http://gcc.gnu.org/gcc-4.7/changes.html> Could our problem be related? I also found a meta-bug in gcc's bug tracker grouping currently known problems around the name-lookup: <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18805> I did not yet found the time to read in detail the referred bugs to see whether there's a known issue resembling the problem at hand.
Gennadiy
Best regards, Torsten