This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/15946] Unhelpful error message when "typename" is omitted
- From: "jason at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 6 Nov 2009 21:18:54 -0000
- Subject: [Bug c++/15946] Unhelpful error message when "typename" is omitted
- References: <bug-15946-8722@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #5 from jason at gcc dot gnu dot org 2009-11-06 21:18 -------
Subject: Bug 15946
Author: jason
Date: Fri Nov 6 21:18:42 2009
New Revision: 153978
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=153978
Log:
PR c++/15946
* parser.c (cp_parser_check_template_parameters): Don't talk about
specialization at function scope.
(cp_parser_diagnose_invalid_type_name): Handle dependent scope.
(cp_parser_parse_and_diagnose_invalid_type_name): Likewise.
(cp_parser_expression_statement): Suggest typename.
* error.c (dump_decl) [SCOPE_REF]: Print the type here.
(dump_expr) [SCOPE_REF]: Call it.
(dump_type) [UNBOUND_CLASS_TEMPLATE]: Check TFF_UNQUALIFIED_NAME.
* cxx-pretty-print.c (pp_cxx_unqualified_id): Print class template
args.
Added:
trunk/gcc/testsuite/g++.dg/parse/error36.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/cxx-pretty-print.c
trunk/gcc/cp/error.c
trunk/gcc/cp/parser.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/g++.dg/template/error26.C
trunk/gcc/testsuite/g++.old-deja/g++.other/typename1.C
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15946