From d2e8d7dc0419ff1d3ba8ee897ad482d32609bfd9 Mon Sep 17 00:00:00 2001 From: jason Date: Wed, 26 Nov 1997 10:14:51 +0000 Subject: [PATCH] * rtti.c (build_dynamic_cast): Handle template case here. (build_dynamic_cast_1): Not here. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16729 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/cp/ChangeLog | 3 +++ gcc/cp/rtti.c | 15 ++++++--------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index dbe470e464e..e81268db032 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,5 +1,8 @@ Wed Nov 26 01:11:24 1997 Jason Merrill + * rtti.c (build_dynamic_cast): Handle template case here. + (build_dynamic_cast_1): Not here. + * typeck2.c (digest_init): Make copies where appropriate. * decl2.c (delete_sanity): resolve_offset_ref. diff --git a/gcc/cp/rtti.c b/gcc/cp/rtti.c index e7b83d37726..49406962722 100644 --- a/gcc/cp/rtti.c +++ b/gcc/cp/rtti.c @@ -428,15 +428,6 @@ build_dynamic_cast_1 (type, expr) enum tree_code ec; tree dcast_fn; - if (type == error_mark_node || expr == error_mark_node) - return error_mark_node; - - if (processing_template_decl) - { - tree t = build_min (DYNAMIC_CAST_EXPR, type, expr); - return t; - } - assert (exprtype != NULL_TREE); ec = TREE_CODE (exprtype); @@ -647,6 +638,12 @@ tree build_dynamic_cast (type, expr) tree type, expr; { + if (type == error_mark_node || expr == error_mark_node) + return error_mark_node; + + if (processing_template_decl) + return build_min (DYNAMIC_CAST_EXPR, type, expr); + return convert_from_reference (build_dynamic_cast_1 (type, expr)); } -- 2.11.4.GIT