diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 96970ed736ea..beee754bb3b8 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,7 @@ +1999-03-28 Jason Merrill + + * pt.c (fn_type_unification): Ignore 'this' parm from conversion ops. + 1999-03-27 Mark Mitchell * cp-tree.h (add_friend): Declare. diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index 8855efa311e4..04ca1b3fc353 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -7317,10 +7317,11 @@ fn_type_unification (fn, explicit_targs, targs, args, return_type, if (DECL_CONV_FN_P (fn)) { /* This is a template conversion operator. Use the return types - as well as the argument types. */ + as well as the argument types. We use it instead of 'this', since + we could be comparing conversions from different classes. */ parms = scratch_tree_cons (NULL_TREE, TREE_TYPE (fntype), - parms); - args = scratch_tree_cons (NULL_TREE, return_type, args); + TREE_CHAIN (parms)); + args = scratch_tree_cons (NULL_TREE, return_type, TREE_CHAIN (args)); } /* We allow incomplete unification without an error message here