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> 2000-09-16 Mark Mitchell <mark@codesourcery.com>
* cp-tree.h (struct cp_language_function): Remove * 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, /* According to the suggested resolution of core issue 180,
'typename' is assumed after a class-key. */ 'typename' is assumed after a class-key. */
decl = make_typename_type (scope, id, 1); decl = make_typename_type (scope, id, 1);
if (decl == error_mark_node) if (decl != error_mark_node)
return error_mark_node; decl = TYPE_MAIN_DECL (decl);
decl = TYPE_MAIN_DECL (decl); else
decl = NULL_TREE;
} }
else if (scope == current) else if (scope == current)
{ {
@ -5479,7 +5480,7 @@ handle_class_head (aggr, scope, id)
cp_error ("no file-scope type named `%D'", id); cp_error ("no file-scope type named `%D'", id);
/* Inject it at the current scope. */ /* Inject it at the current scope. */
if (!decl) if (! decl)
decl = TYPE_MAIN_DECL (xref_tag (aggr, id, 1)); decl = TYPE_MAIN_DECL (xref_tag (aggr, id, 1));
} }