decl2.c (handle_class_head): Always push some scope even in the error case.

* decl2.c (handle_class_head): Always push some scope even
	in the error case.

From-SVN: r36467
This commit is contained in:
Geoff Keating 2000-09-17 09:39:20 +00:00 committed by Geoffrey Keating
parent 859e203f3a
commit fc928afe68
2 changed files with 10 additions and 4 deletions

View File

@ -1,3 +1,8 @@
2000-09-17 Geoffrey Keating <geoffk@cygnus.com>
* decl2.c (handle_class_head): Always push some scope even
in the error case.
2000-09-16 Mark Mitchell <mark@codesourcery.com>
* cp-tree.h (struct cp_language_function): Remove

View File

@ -5461,9 +5461,10 @@ handle_class_head (aggr, scope, id)
/* According to the suggested resolution of core issue 180,
'typename' is assumed after a class-key. */
decl = make_typename_type (scope, id, 1);
if (decl == error_mark_node)
return error_mark_node;
decl = TYPE_MAIN_DECL (decl);
if (decl != error_mark_node)
decl = TYPE_MAIN_DECL (decl);
else
decl = NULL_TREE;
}
else if (scope == current)
{
@ -5479,7 +5480,7 @@ handle_class_head (aggr, scope, id)
cp_error ("no file-scope type named `%D'", id);
/* Inject it at the current scope. */
if (!decl)
if (! decl)
decl = TYPE_MAIN_DECL (xref_tag (aggr, id, 1));
}