re PR c++/11551 (g++ accepts typedef as destructor name)
authorMark Mitchell <mark@codesourcery.com>
Thu, 21 Aug 2003 17:44:16 +0000 (17:44 +0000)
committerMark Mitchell <mmitchel@gcc.gnu.org>
Thu, 21 Aug 2003 17:44:16 +0000 (17:44 +0000)
commitf3c2dfc6293ec19dd6cd7c975d77eee3420f4cef
treed85dca699dc8ee19c0f5824a3b1e39698708c6ec
parentca11c37c5d5a639edf9e4a7ac211bdd3df6d620f
re PR c++/11551 (g++ accepts typedef as destructor name)

PR c++/11551
* parser.c (cp_parser_id_expression): Add declarator_p parameter.
(cp_parser_primary_expression): Adjust call to
cp_parser_id_expression.
(cp_parser_unqualified_id): Complain about the use of
typedef-names in a destructor declarator.
(cp_parser_postfix_expression): Adjust call to
cp_parser_id_expression.
(cp_parser_type_parameter): Likewise.
(cp_parser_template_argument): Likewise.
(cp_parser_declarator_id): Likewise.

PR c++/11919
* call.c (standard_conversion): Use same_type_p, not pointer
equality, to compare types.

PR c++/10762
* parser.c (cp_parser_using_declaration): Check for invalid uses
of template-ids here...
* decl2.c (do_class_using_decl): ... rather than here.

PR c++/11919
* g++.dg/overload/prom1.C: New test.

PR c++/11551
* g++.dg/parse/dtor2.C: New test.

PR c++/10762
* g++.dg/parse/using2.C: New test.

From-SVN: r70652
gcc/cp/ChangeLog
gcc/cp/call.c
gcc/cp/decl2.c
gcc/cp/parser.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/overload/prom1.C [new file with mode: 0644]
gcc/testsuite/g++.dg/parse/dtor2.C [new file with mode: 0644]
gcc/testsuite/g++.dg/parse/using2.C [new file with mode: 0644]