From 5dae1114bb636a814b154c3c47ff6ad149bc81de Mon Sep 17 00:00:00 2001 From: Mark Mitchell Date: Fri, 17 Jan 2003 20:14:44 +0000 Subject: re PR c++/9294 ([new parser] parser enters infinite loop) PR c++/9294 * cp-tree.def (BASELINK): Make it class 'x', not class 'e'. * cp-tree.h (BASELINK_BINFO): Adjust. (BASELINK_FUNCTIONS): Likewise. (BASELINK_ACCESS_BINFO): Likewise. (tree_baselink): New structure. (cp_tree_node_structure_enum): Add TS_CP_BASELINK. (lang_tree_node): Add baselink. * decl.c (cp_tree_node_structure): Add BASELINK case. * search.c (build_baselink): Adjust. * tree.c (cp_walk_subtrees): Add BASELINK case. Remove BASELINK_P test from TREE_LIST case. PR c++/9272 * parser.c (cp_parser_constructor_declarator_p): Do not assume that a constructor cannot be declared outside of its own class. * parser.c (cp_parser_resolve_typename_type): If the scope cannot be resolved, neither can the qualified name. * rtti.c (get_pseudo_ti_desc): Fix thinko. PR c++/9272 * g++.dg/parse/ctor1.C: New test. PR c++/9294: * g++.dg/parse/qualified1.C: New test. * g++.dg/parse/typename3.C: New test. From-SVN: r61456 --- gcc/cp/cp-tree.def | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gcc/cp/cp-tree.def') diff --git a/gcc/cp/cp-tree.def b/gcc/cp/cp-tree.def index caec9cd..f621844 100644 --- a/gcc/cp/cp-tree.def +++ b/gcc/cp/cp-tree.def @@ -105,7 +105,7 @@ DEFTREECODE (ALIAS_DECL, "alias_decl", 'd', 0) the type of the expression. This type is either a FUNCTION_TYPE, METHOD_TYPE, or `unknown_type_node' indicating that the function is overloaded. */ -DEFTREECODE (BASELINK, "baselink", 'e', 3) +DEFTREECODE (BASELINK, "baselink", 'x', 3) /* Template definition. The following fields have the specified uses, although there are other macros in cp-tree.h that should be used for -- cgit v1.1