This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: c++/9486: [3.4 regression] can't find a matching member template function


Old Synopsis: boost_no_mem_tem_keyword fails with no matching function
New Synopsis: [3.4 regression] can't find a matching member template function

State-Changed-From-To: open->analyzed
State-Changed-By: bangerth
State-Changed-When: Tue Jan 28 19:50:14 2003
State-Changed-Why:
    Confirmed. Here's a cut-down:
    ----------------------------
    template <class T> struct X {
       template <class U> void foo(U);
    };
    
    template <class T>
    void bar() {
       X<double> x;
       x.template foo<T>(0);
    }
    template void bar<int>();
    -------------------------
    
    g/a> /home/bangerth/bin/gcc-3.4-pre/bin/c++ -c b.c
    b.c: In function `void bar() [with T = int]':
    b.c:10:   instantiated from here
    b.c:8: error: no matching function for call to `X<double>::foo(int)'
    
    This used to work until 3.3.
    
    If one removes the argument of foo but leaves it as a 
    template, one gets an ICE instead. I'll report this in a
    separate PR.
    
    W.

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=9486


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]