From b5534c655352c24f2a2cf7ed2bac09a439e3b938 Mon Sep 17 00:00:00 2001 From: Nathan Sidwell Date: Fri, 17 Sep 1999 18:25:54 +0000 Subject: [PATCH] Revert call.c 1.173 change, do same effect, but more obviously. * call.c (perform_implicit_conversion): Deal with error_mark_node. From-SVN: r29478 --- gcc/cp/ChangeLog | 8 ++++---- gcc/cp/call.c | 11 +++++++---- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index ae81e8a..4bffedb 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,7 @@ +1999-09-17 Nathan Sidwell + + * call.c (perform_implicit_conversion): Deal with error_mark_node. + 1999-09-17 Mark Mitchell * decl.c (warn_extern_redeclared_static): Don't get confused by @@ -7,10 +11,6 @@ * decl.c (expand_static_init): Make sure assignments to local statics actually occur. -1999-09-17 Nathan Sidwell - - * call.c (perform_implicit_conversion): Deal with error_mark_node. - 1999-09-17 Mark Mitchell * cp-tree.h (poplevel_class): Declare. diff --git a/gcc/cp/call.c b/gcc/cp/call.c index 809c457..8cbc9dd 100644 --- a/gcc/cp/call.c +++ b/gcc/cp/call.c @@ -5126,12 +5126,15 @@ perform_implicit_conversion (type, expr) tree type; tree expr; { - tree conv = implicit_conversion (type, TREE_TYPE (expr), expr, - LOOKUP_NORMAL); + tree conv; + + if (expr == error_mark_node) + return error_mark_node; + conv = implicit_conversion (type, TREE_TYPE (expr), expr, + LOOKUP_NORMAL); if (!conv || ICS_BAD_FLAG (conv)) { - if (expr != error_mark_node) - cp_error ("could not convert `%E' to `%T'", expr, type); + cp_error ("could not convert `%E' to `%T'", expr, type); return error_mark_node; } -- 2.7.4