public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/13967] New: template template argument identifier lookup fails scoping rules
@ 2004-02-01 23:34 gianni at mariani dot ws
  2004-02-01 23:43 ` [Bug c++/13967] " gianni at mariani dot ws
                   ` (24 more replies)
  0 siblings, 25 replies; 26+ messages in thread
From: gianni at mariani dot ws @ 2004-02-01 23:34 UTC (permalink / raw)
  To: gcc-bugs

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.


gccbug_13808.cpp: In member function `C<T, A> X::Func()':
gccbug_13808.cpp:10: error: `X::C' is not a template

struct X
{
    struct C { int x; }; //uncomment to make this work.
    struct Z { int x; }; //uncomment to make this work.

    template<typename T,  typename A, template<typename,typename> class C>
    C<T, A> Func()
    {
        return C<T, A>(); // sees X::C not template parameter
    }

    template< typename Z > Z Zunc()
    {
        return Z(); // works ok
    }

};

-- 
           Summary: template template argument identifier lookup fails
                    scoping rules
           Product: gcc
           Version: 3.4.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: gianni at mariani dot ws
                CC: gcc-bugs at gcc dot gnu dot org


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


^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2004-03-31  9:38 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-02-01 23:34 [Bug c++/13967] New: template template argument identifier lookup fails scoping rules gianni at mariani dot ws
2004-02-01 23:43 ` [Bug c++/13967] " gianni at mariani dot ws
2004-02-02  0:11 ` gianni at mariani dot ws
2004-02-02  0:42 ` [Bug c++/13967] [3.3?/3.4/3.5 regression] " giovannibajo at libero dot it
2004-02-02  1:02 ` gdr at integrable-solutions dot net
2004-02-02  1:18 ` gianni at mariani dot ws
2004-02-02  1:31 ` gdr at integrable-solutions dot net
2004-02-02  1:49 ` gianni at mariani dot ws
2004-02-02  2:18 ` gdr at integrable-solutions dot net
2004-02-02  3:00 ` gianni at mariani dot ws
2004-02-02 17:32 ` gdr at integrable-solutions dot net
2004-02-02 17:40 ` gdr at integrable-solutions dot net
2004-02-02 18:11 ` giovannibajo at libero dot it
2004-02-02 18:21 ` gianni at mariani dot ws
2004-02-02 19:17 ` gianni at mariani dot ws
2004-02-02 19:33 ` giovannibajo at libero dot it
2004-02-02 19:35 ` [Bug c++/13967] A warning could be emitted if a template parameter of a member template is begin shadowed by another member of the class giovannibajo at libero dot it
2004-02-02 20:44 ` gcc-bugs at michaelmellor dot com
2004-02-02 21:08 ` gdr at integrable-solutions dot net
2004-02-02 21:13 ` gdr at integrable-solutions dot net
2004-02-07  8:25 ` gianni at mariani dot ws
2004-02-07  8:29 ` pinskia at gcc dot gnu dot org
2004-02-07  9:06 ` giovannibajo at libero dot it
2004-02-07 13:11 ` gdr at integrable-solutions dot net
2004-02-14  1:12 ` giovannibajo at libero dot it
2004-03-31  9:38 ` giovannibajo at libero dot it

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).