[Bug c++/13967] [3.3?/3.4/3.5 regression] template template argument identifier lookup fails scoping rules

gdr at integrable-solutions dot net gcc-bugzilla@gcc.gnu.org
Mon Feb 2 17:32:00 GMT 2004


------- Additional Comments From gdr at integrable-solutions dot net  2004-02-02 17:32 -------
Subject: Re:  New: template template argument identifier lookup fails scoping rules

"gianni at mariani dot ws" <gcc-bugzilla@gcc.gnu.org> writes:

| The code below, compiles fine on MSVC++ 7.1 and Comeau.
| It seems that the fix for Bug 13808 is not complete as the 
| scoping of template parameters is not taken into account 
| before identifies in the anclosing class's template.

Well, I don't think GCC is in error.  When you define a function (or a
class) in a class, it gets rewritten as if it where defined outside of
the class (which is why we get the reevaluation rule I pointed you to
in a different PR).  Now, when you reevaluate the member template
outside of the class, name lookup is required to find X::C -- see 
14.6.1/5 and 14.6.1/7

-- Gaby


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13967



More information about the Gcc-bugs mailing list