public inbox for gcc-prs@sourceware.org help / color / mirror / Atom feed
From: rguenth@tat.physik.uni-tuebingen.de To: gcc-gnats@gcc.gnu.org Subject: c++/10146: [3.4 regression] [new parser] template function lookup failure(s) Date: Wed, 19 Mar 2003 08:56:00 -0000 [thread overview] Message-ID: <20030319085309.10970.qmail@sources.redhat.com> (raw) >Number: 10146 >Category: c++ >Synopsis: [3.4 regression] [new parser] template function lookup failure(s) >Confidential: no >Severity: critical >Priority: medium >Responsible: unassigned >State: open >Class: rejects-legal >Submitter-Id: net >Arrival-Date: Wed Mar 19 08:56:00 UTC 2003 >Closed-Date: >Last-Modified: >Originator: Richard Guenther >Release: g++-3.4 (GCC) 3.4 20030313 (experimental) >Organization: >Environment: >Description: In the following testcase the marked lines fail/work even if they should/should not (the former being the problem for me). One should carefuly check the standard if any of the working one should be rejected. The error message from compiling the testcase is bellatrix:~/src/tests$ g++-3.4 -c temp.cpp temp.cpp: In member function `void Bar<T>::operator()(const U&) [with U = int, T = char]': temp.cpp:32: instantiated from here temp.cpp:14: error: no matching function for call to `Foo<int>::foo(const int&) ' temp.cpp:15: error: no matching function for call to `Foo<int>::foo(const int&) ' temp.cpp:16: error: no matching function for call to `Foo<int>::foo(const int&) ' temp.cpp:32: instantiated from here temp.cpp:18: error: no matching function for call to `Foo<int>::bar(const int&) ' temp.cpp:19: error: no matching function for call to `Foo<int>::bar(const int&) ' Testcase: template <class T> struct Foo { template <class U> static void foo(const U&); template <class U> void bar(const U&); }; template <class T> struct Bar { template <class U> void operator()(const U&u) { Foo<int>().foo<U>(u); // does not work (ok) Foo<int>::foo<U>(u); // does not work (ok) Foo<int>().template foo<U>(u); // does not work Foo<int>::template foo<U>(u); // does work Foo<int>().bar<U>(u); // does not work (ok) Foo<int>().template bar<U>(u); // does not work Foo<int>().foo(u); // does work ?? Foo<int>::foo(u); // does work ?? Foo<int>().template foo(u); // does work Foo<int>::template foo(u); // does work Foo<int>().bar(u); // does work ?? Foo<int>().template bar(u); // does work } }; void foo() { int i; Bar<char>()(i); } >How-To-Repeat: >Fix: >Release-Note: >Audit-Trail: >Unformatted:
next reply other threads:[~2003-03-19 8:56 UTC|newest] Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top 2003-03-19 8:56 rguenth [this message] 2003-03-19 12:26 Richard Guenther 2003-03-19 12:26 Giovanni Bajo 2003-03-19 12:36 Richard Guenther 2003-03-19 12:36 Gabriel Dos Reis 2003-03-19 12:46 Gabriel Dos Reis 2003-03-19 12:56 Giovanni Bajo 2003-03-19 12:56 Richard Guenther 2003-03-20 2:05 bangerth
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20030319085309.10970.qmail@sources.redhat.com \ --to=rguenth@tat.physik.uni-tuebingen.de \ --cc=gcc-gnats@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
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).