public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
* [Bug c++/19499] New: [3.4/4.0 regression] Bad diagnostic for namespace as template parameter @ 2005-01-18 9:15 reichelt at gcc dot gnu dot org 2005-01-18 9:23 ` [Bug c++/19499] " reichelt at gcc dot gnu dot org ` (5 more replies) 0 siblings, 6 replies; 7+ messages in thread From: reichelt at gcc dot gnu dot org @ 2005-01-18 9:15 UTC (permalink / raw) To: gcc-bugs The diagnostic for the following invalid code snippet could be improved: ================================= template<typename> struct A {}; namespace N {} A<N> a; ================================= On mainline we now get: bug5.cc:5: error: template argument 1 is invalid bug5.cc:5: error: template argument 1 is invalid bug5.cc:5: error: template argument 1 is invalid bug5.cc:5: error: template argument 1 is invalid bug5.cc:5: error: template argument 1 is invalid bug5.cc:5: error: template argument 1 is invalid bug5.cc:5: error: template argument 1 is invalid bug5.cc:5: error: template argument 1 is invalid bug5.cc:5: error: expected constructor, destructor, or type conversion before '<' token With 3.3.5 we get: bug5.cc:5: error: use of namespace `N' as expression bug5.cc:5: error: template argument 1 is invalid bug5.cc:5: error: ISO C++ forbids declaration of `a' with no type which is okay IMHO. With 3.4.3 we get bug5.cc:5: error: template argument 1 is invalid bug5.cc:5: error: invalid type in declaration before ';' token which is less informative, but still okay. With the current 3.4 branch we almost get the same mess as with mainline. -- Summary: [3.4/4.0 regression] Bad diagnostic for namespace as template parameter Product: gcc Version: 4.0.0 Status: UNCONFIRMED Keywords: diagnostic, monitored Severity: normal Priority: P2 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: reichelt at gcc dot gnu dot org CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19499 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug c++/19499] [3.4/4.0 regression] Bad diagnostic for namespace as template parameter 2005-01-18 9:15 [Bug c++/19499] New: [3.4/4.0 regression] Bad diagnostic for namespace as template parameter reichelt at gcc dot gnu dot org @ 2005-01-18 9:23 ` reichelt at gcc dot gnu dot org 2005-01-18 14:39 ` pinskia at gcc dot gnu dot org ` (4 subsequent siblings) 5 siblings, 0 replies; 7+ messages in thread From: reichelt at gcc dot gnu dot org @ 2005-01-18 9:23 UTC (permalink / raw) To: gcc-bugs ------- Additional Comments From reichelt at gcc dot gnu dot org 2005-01-18 09:23 ------- Alexandre, this was probably caused by your patch for PR18757: http://gcc.gnu.org/ml/gcc-cvs/2004-12/msg00382.html -- What |Removed |Added ---------------------------------------------------------------------------- CC| |aoliva at gcc dot gnu dot | |org Target Milestone|--- |3.4.4 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19499 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug c++/19499] [3.4/4.0 regression] Bad diagnostic for namespace as template parameter 2005-01-18 9:15 [Bug c++/19499] New: [3.4/4.0 regression] Bad diagnostic for namespace as template parameter reichelt at gcc dot gnu dot org 2005-01-18 9:23 ` [Bug c++/19499] " reichelt at gcc dot gnu dot org @ 2005-01-18 14:39 ` pinskia at gcc dot gnu dot org 2005-01-31 6:26 ` mmitchel at gcc dot gnu dot org ` (3 subsequent siblings) 5 siblings, 0 replies; 7+ messages in thread From: pinskia at gcc dot gnu dot org @ 2005-01-18 14:39 UTC (permalink / raw) To: gcc-bugs ------- Additional Comments From pinskia at gcc dot gnu dot org 2005-01-18 14:30 ------- Confirmed. -- What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed| |1 Last reconfirmed|0000-00-00 00:00:00 |2005-01-18 14:30:57 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19499 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug c++/19499] [3.4/4.0 regression] Bad diagnostic for namespace as template parameter 2005-01-18 9:15 [Bug c++/19499] New: [3.4/4.0 regression] Bad diagnostic for namespace as template parameter reichelt at gcc dot gnu dot org 2005-01-18 9:23 ` [Bug c++/19499] " reichelt at gcc dot gnu dot org 2005-01-18 14:39 ` pinskia at gcc dot gnu dot org @ 2005-01-31 6:26 ` mmitchel at gcc dot gnu dot org 2005-02-01 5:57 ` cvs-commit at gcc dot gnu dot org ` (2 subsequent siblings) 5 siblings, 0 replies; 7+ messages in thread From: mmitchel at gcc dot gnu dot org @ 2005-01-31 6:26 UTC (permalink / raw) To: gcc-bugs ------- Additional Comments From mmitchel at gcc dot gnu dot org 2005-01-31 06:26 ------- Alexandre, this patch was clearly incorrect. The whole reason to create CPP_TEMPLATE_ID tokens is to avoid re-parsing the same token sequence in the case that an error occurred. Please revert this patch ASAP. Feel free to assign the original bug which your patch fixed to me. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19499 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug c++/19499] [3.4/4.0 regression] Bad diagnostic for namespace as template parameter 2005-01-18 9:15 [Bug c++/19499] New: [3.4/4.0 regression] Bad diagnostic for namespace as template parameter reichelt at gcc dot gnu dot org ` (2 preceding siblings ...) 2005-01-31 6:26 ` mmitchel at gcc dot gnu dot org @ 2005-02-01 5:57 ` cvs-commit at gcc dot gnu dot org 2005-02-01 7:04 ` cvs-commit at gcc dot gnu dot org 2005-02-01 10:50 ` giovannibajo at libero dot it 5 siblings, 0 replies; 7+ messages in thread From: cvs-commit at gcc dot gnu dot org @ 2005-02-01 5:57 UTC (permalink / raw) To: gcc-bugs ------- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-02-01 05:56 ------- Subject: Bug 19499 CVSROOT: /cvs/gcc Module name: gcc Changes by: aoliva@gcc.gnu.org 2005-02-01 05:56:08 Modified files: gcc/testsuite : ChangeLog gcc/cp : ChangeLog parser.c pt.c gcc/testsuite/g++.dg/parse: typename7.C Log message: gcc/cp/ChangeLog: PR c++/18757 PR c++/19366 PR c++/19499 * parser.c (cp_parser_template_id): Revert 2004-12-09's patch. Issue an error when creating the template id. * pt.c (fn_type_unification): Return early if the explicit template arg list is an error_mark_node. gcc/testsuite/ChangeLog: * g++.dg/parse/typename7.C: Adjust error messages. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.4967&r2=1.4968 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&r1=1.4607&r2=1.4608 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/parser.c.diff?cvsroot=gcc&r1=1.306&r2=1.307 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/pt.c.diff?cvsroot=gcc&r1=1.970&r2=1.971 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/parse/typename7.C.diff?cvsroot=gcc&r1=1.1&r2=1.2 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19499 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug c++/19499] [3.4/4.0 regression] Bad diagnostic for namespace as template parameter 2005-01-18 9:15 [Bug c++/19499] New: [3.4/4.0 regression] Bad diagnostic for namespace as template parameter reichelt at gcc dot gnu dot org ` (3 preceding siblings ...) 2005-02-01 5:57 ` cvs-commit at gcc dot gnu dot org @ 2005-02-01 7:04 ` cvs-commit at gcc dot gnu dot org 2005-02-01 10:50 ` giovannibajo at libero dot it 5 siblings, 0 replies; 7+ messages in thread From: cvs-commit at gcc dot gnu dot org @ 2005-02-01 7:04 UTC (permalink / raw) To: gcc-bugs ------- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-02-01 07:04 ------- Subject: Bug 19499 CVSROOT: /cvs/gcc Module name: gcc Branch: gcc-3_4-branch Changes by: aoliva@gcc.gnu.org 2005-02-01 07:04:01 Modified files: gcc/testsuite : ChangeLog gcc/cp : ChangeLog parser.c pt.c gcc/testsuite/g++.dg/parse: typename7.C Log message: gcc/cp/ChangeLog: PR c++/18757 PR c++/19366 PR c++/19499 * parser.c (cp_parser_template_id): Revert 2004-12-09's patch. Issue an error when creating the template id. * pt.c (fn_type_unification): Return early if the explicit template arg list is an error_mark_node. gcc/testsuite/ChangeLog: * g++.dg/parse/typename7.C: Adjust error messages. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.3389.2.354&r2=1.3389.2.355 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.3892.2.193&r2=1.3892.2.194 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/parser.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.157.2.50&r2=1.157.2.51 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/pt.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.816.2.49&r2=1.816.2.50 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/parse/typename7.C.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.1.10.1&r2=1.1.10.2 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19499 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug c++/19499] [3.4/4.0 regression] Bad diagnostic for namespace as template parameter 2005-01-18 9:15 [Bug c++/19499] New: [3.4/4.0 regression] Bad diagnostic for namespace as template parameter reichelt at gcc dot gnu dot org ` (4 preceding siblings ...) 2005-02-01 7:04 ` cvs-commit at gcc dot gnu dot org @ 2005-02-01 10:50 ` giovannibajo at libero dot it 5 siblings, 0 replies; 7+ messages in thread From: giovannibajo at libero dot it @ 2005-02-01 10:50 UTC (permalink / raw) To: gcc-bugs ------- Additional Comments From giovannibajo at libero dot it 2005-02-01 10:49 ------- Fixed in 3.4.4 and 4.0.0. -- What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19499 ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2005-02-01 10:50 UTC | newest] Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2005-01-18 9:15 [Bug c++/19499] New: [3.4/4.0 regression] Bad diagnostic for namespace as template parameter reichelt at gcc dot gnu dot org 2005-01-18 9:23 ` [Bug c++/19499] " reichelt at gcc dot gnu dot org 2005-01-18 14:39 ` pinskia at gcc dot gnu dot org 2005-01-31 6:26 ` mmitchel at gcc dot gnu dot org 2005-02-01 5:57 ` cvs-commit at gcc dot gnu dot org 2005-02-01 7:04 ` cvs-commit at gcc dot gnu dot org 2005-02-01 10:50 ` 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).