From 47898a19f0e80dd31bc9386a346ac7780bfe55a7 Mon Sep 17 00:00:00 2001
From: Jason Merrill <jason@yorick.cygnus.com>
Date: Wed, 10 Mar 1999 00:57:44 +0000
Subject: [PATCH] * call.c (add_builtin_candidates): Handle overloaded
 conversion ops.

From-SVN: r25663
---
 gcc/cp/ChangeLog | 4 ++++
 gcc/cp/call.c    | 4 ++--
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 7dcdfeae0526..93b5caf1a668 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,7 @@
+1999-03-09  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* call.c (add_builtin_candidates): Handle overloaded conversion ops.
+
 1999-03-09  Mark Mitchell  <mark@markmitchell.com>
 
 	* cp-tree.h (flag_access_control): Declare.
diff --git a/gcc/cp/call.c b/gcc/cp/call.c
index 1376303140ad..4e2e2538d40b 100644
--- a/gcc/cp/call.c
+++ b/gcc/cp/call.c
@@ -1868,7 +1868,7 @@ add_builtin_candidates (candidates, code, code2, fnname, args, flags)
 	;
       else if (IS_AGGR_TYPE (argtypes[i]))
 	{
-	  tree convs = lookup_conversions (argtypes[i]);
+	  tree convs;
 
 	  if (i == 0 && code == MODIFY_EXPR && code2 == NOP_EXPR)
 	    return candidates;
@@ -1890,7 +1890,7 @@ add_builtin_candidates (candidates, code, code2, fnname, args, flags)
 
 	  for (; convs; convs = TREE_CHAIN (convs))
 	    {
-	      type = TREE_TYPE (TREE_TYPE (TREE_VALUE (convs)));
+	      type = TREE_TYPE (TREE_TYPE (OVL_CURRENT (TREE_VALUE (convs))));
 
 	      if (i == 0 && ref1
 		  && (TREE_CODE (type) != REFERENCE_TYPE
-- 
GitLab