OSDN Git Service

* pt.c (more_specialized): Don't optimize len==0.
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 23 Dec 2000 00:05:44 +0000 (00:05 +0000)
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 23 Dec 2000 00:05:44 +0000 (00:05 +0000)
        (fn_type_unification): If we're adding the return type, increase len.

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

gcc/cp/pt.c

index 0a260df..0c4991a 100644 (file)
@@ -7666,6 +7666,8 @@ fn_type_unification (fn, explicit_targs, targs, args, return_type,
       /* We've been given a return type to match, prepend it.  */
       parms = tree_cons (NULL_TREE, TREE_TYPE (fntype), parms);
       args = tree_cons (NULL_TREE, return_type, args);
+      if (len >= 0)
+       ++len;
     }
 
   /* We allow incomplete unification without an error message here
@@ -8875,9 +8877,6 @@ more_specialized (pat1, pat2, len)
   tree targs;
   int winner = 0;
 
-  if (len == 0)
-    return 0;
-
   targs = get_bindings_order (pat1, DECL_TEMPLATE_RESULT (pat2), len);
   if (targs)
     --winner;