From fc928afe684e9e9575fe2ed482fa454db49cf81c Mon Sep 17 00:00:00 2001 From: Geoff Keating Date: Sun, 17 Sep 2000 09:39:20 +0000 Subject: [PATCH] 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 --- gcc/cp/ChangeLog | 5 +++++ gcc/cp/decl2.c | 9 +++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 66e3975..b0781e2 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2000-09-17 Geoffrey Keating + + * decl2.c (handle_class_head): Always push some scope even + in the error case. + 2000-09-16 Mark Mitchell * cp-tree.h (struct cp_language_function): Remove diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c index b579f59..a530c32 100644 --- a/gcc/cp/decl2.c +++ b/gcc/cp/decl2.c @@ -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)); } -- 2.7.4