From: Nathan Sidwell Date: Mon, 4 Sep 2000 10:28:11 +0000 (+0000) Subject: pt.c (lookup_template_class): Remove abort. X-Git-Tag: prereleases/libstdc++-2.92~4287 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1bc0793e55808609cb199adba76f2de4a7cac4d5;p=thirdparty%2Fgcc.git pt.c (lookup_template_class): Remove abort. * pt.c (lookup_template_class): Remove abort. * tree.c (get_type_decl): Allow error_mark_node. From-SVN: r36134 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 3d01f81feb78..c99b9a01fcb6 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2000-09-04 Nathan Sidwell + + * pt.c (lookup_template_class): Remove abort. + * tree.c (get_type_decl): Allow error_mark_node. + 2000-09-04 Nathan Sidwell * decl2.c (arg_assoc): Deal with COMPONENT_REFs inside diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index 9da72eeed919..abf4f9b2d87e 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -3770,14 +3770,12 @@ lookup_template_class (d1, arglist, in_decl, context, entering_scope) d1 = DECL_NAME (template); context = DECL_CONTEXT (template); } - else - my_friendly_abort (272); /* With something like `template class X class X { ... };' we could end up with D1 having nothing but an IDENTIFIER_VALUE. We don't want to do that, but we have to deal with the situation, so let's give them some syntax errors to chew on instead of a - crash. */ + crash. Alternatively D1 might not be a template type at all. */ if (! template) { cp_error ("`%T' is not a template", d1); diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c index 009cb0e388e3..371f00f4792a 100644 --- a/gcc/cp/tree.c +++ b/gcc/cp/tree.c @@ -1846,6 +1846,8 @@ get_type_decl (t) return t; if (TYPE_P (t)) return TYPE_STUB_DECL (t); + if (t == error_mark_node) + return t; my_friendly_abort (42);