diff options
author | Nathan Sidwell <nathan@acm.org> | 1999-09-17 18:25:54 +0000 |
---|---|---|
committer | Nathan Sidwell <nathan@gcc.gnu.org> | 1999-09-17 18:25:54 +0000 |
commit | b5534c655352c24f2a2cf7ed2bac09a439e3b938 (patch) | |
tree | 18928a896124572e991cfbcba635910e6d944307 | |
parent | 963d5758117f80dd060942bc405609c22f13860f (diff) | |
download | gcc-b5534c655352c24f2a2cf7ed2bac09a439e3b938.zip gcc-b5534c655352c24f2a2cf7ed2bac09a439e3b938.tar.gz gcc-b5534c655352c24f2a2cf7ed2bac09a439e3b938.tar.bz2 |
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
-rw-r--r-- | gcc/cp/ChangeLog | 8 | ||||
-rw-r--r-- | 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 <nathan@acm.org> + + * call.c (perform_implicit_conversion): Deal with error_mark_node. + 1999-09-17 Mark Mitchell <mark@codesourcery.com> * 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 <nathan@acm.org> - - * call.c (perform_implicit_conversion): Deal with error_mark_node. - 1999-09-17 Mark Mitchell <mark@codesourcery.com> * 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; } |