OSDN Git Service

Revert call.c 1.173 change, do same effect, but more obviously.
authornathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 17 Sep 1999 18:25:54 +0000 (18:25 +0000)
committernathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 17 Sep 1999 18:25:54 +0000 (18:25 +0000)
* call.c (perform_implicit_conversion): Deal with error_mark_node.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29478 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/cp/ChangeLog
gcc/cp/call.c

index ae81e8a..4bffedb 100644 (file)
@@ -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.
index 809c457..8cbc9dd 100644 (file)
@@ -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;
     }