]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
* call.c (build_new_op): Remove REF_BIND from all operands.
authorNathan Sidwell <nathan@acm.org>
Mon, 14 Jun 1999 02:44:17 +0000 (02:44 +0000)
committerNathan Sidwell <nathan@gcc.gnu.org>
Mon, 14 Jun 1999 02:44:17 +0000 (02:44 +0000)
From-SVN: r27510

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

index 03f4af820d7f9d55eeebebe7f14163c5076b8459..18d83d8f15235d7e4073cd07861795d097f6df94 100644 (file)
@@ -1,3 +1,7 @@
+1999-06-14  Nathan Sidwell  <nathan@acm.org>
+
+       * call.c (build_new_op): Remove REF_BIND from all operands.
+
 1999-06-13  Alexandre Oliva  <oliva@dcc.unicamp.br>
 
        * init.c (build_new_1): Look up operator delete even if there was
index e6f4187564475c414694576e41b3ec3c43e677a9..66d98c562d08064f2654cad74317a2eb5c71bd7d 100644 (file)
@@ -2655,9 +2655,19 @@ build_new_op (code, flags, arg1, arg2, arg3)
     conv = TREE_OPERAND (conv, 0);
   arg1 = convert_like (conv, arg1);
   if (arg2)
-    arg2 = convert_like (TREE_VEC_ELT (cand->convs, 1), arg2);
+    {
+      conv = TREE_VEC_ELT (cand->convs, 1);
+      if (TREE_CODE (conv) == REF_BIND)
+        conv = TREE_OPERAND (conv, 0);
+      arg2 = convert_like (conv, arg2);
+    }
   if (arg3)
-    arg3 = convert_like (TREE_VEC_ELT (cand->convs, 2), arg3);
+    {
+      conv = TREE_VEC_ELT (cand->convs, 2);
+      if (TREE_CODE (conv) == REF_BIND)
+        conv = TREE_OPERAND (conv, 0);
+      arg3 = convert_like (conv, arg3);
+    }
 
 builtin:
   switch (code)