* call.c (standard_conversion): A BASE_CONV replaces an RVALUE_CONV.
authorJason Merrill <jason@yorick.cygnus.com>
Fri, 13 Feb 1998 01:37:30 +0000 (01:37 +0000)
committerJason Merrill <jason@gcc.gnu.org>
Fri, 13 Feb 1998 01:37:30 +0000 (20:37 -0500)
From-SVN: r17898

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

index 70186da..0054db6 100644 (file)
@@ -1,3 +1,7 @@
+Fri Feb 13 01:36:42 1998  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * call.c (standard_conversion): A BASE_CONV replaces an RVALUE_CONV.
+
 Fri Feb 13 00:21:59 1998  Jason Merrill  <jason@yorick.cygnus.com>
 
        * cp-tree.h: Add access_protected_virtual_node.
index d30092e..299e0a4 100644 (file)
@@ -3212,7 +3212,11 @@ standard_conversion (to, from, expr)
     }
   else if (IS_AGGR_TYPE (to) && IS_AGGR_TYPE (from)
           && DERIVED_FROM_P (to, from))
-    conv = build_conv (BASE_CONV, to, conv);
+    {
+      if (TREE_CODE (conv) == RVALUE_CONV)
+       conv = TREE_OPERAND (conv, 0);
+      conv = build_conv (BASE_CONV, to, conv);
+    }
   else
     return 0;