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 /gcc | |
| 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
Diffstat (limited to 'gcc')
| -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;      } | 
