class.c (instantiate_type): Don't consider templates for a normal match.
authorJason Merrill <jason@yorick.cygnus.com>
Wed, 28 Oct 1998 21:02:49 +0000 (21:02 +0000)
committerJason Merrill <jason@gcc.gnu.org>
Wed, 28 Oct 1998 21:02:49 +0000 (16:02 -0500)
* class.c (instantiate_type): Don't consider templates for a normal
match.

From-SVN: r23412

gcc/cp/ChangeLog
gcc/cp/class.c

index 8fff4d0b92a4ed35a2269c970f79b9a483895c15..1e07758b00d2da0594167727289fa151a365da7c 100644 (file)
@@ -1,5 +1,8 @@
 1998-10-28  Jason Merrill  <jason@yorick.cygnus.com>
 
+       * class.c (instantiate_type): Don't consider templates for a normal
+       match.
+
        * class.c (finish_struct_1): Don't complain about non-copy
        assignment ops in union members.
 
@@ -10,6 +13,7 @@
        (finish_prevtable_vardecl): Lose.
        (finish_file): Don't call it.
        * pt.c (instantiate_class_template): Likewise.
+       * cp-tree.h: Remove it.
 
        * init.c (build_delete): Reset TYPE_HAS_DESTRUCTOR here.
        * decl.c (finish_function): Not here.
index 1378fa28a9466b57f545ce4c83f5bacfbdfe676d..3cd89a6872d4322f0063c7d58c92f1a4c4eb37da 100644 (file)
@@ -5140,7 +5140,8 @@ instantiate_type (lhstype, rhs, complain)
        else for (elems = rhs; elems; elems = OVL_CHAIN (elems))
          {
            elem = OVL_FUNCTION (elems);
-           if (comptypes (lhstype, TREE_TYPE (elem), 1))
+           if (TREE_CODE (elem) == FUNCTION_DECL
+               && comptypes (lhstype, TREE_TYPE (elem), 1))
              {
                mark_used (elem);
                return elem;
@@ -5195,7 +5196,8 @@ instantiate_type (lhstype, rhs, complain)
            for (elems = rhs; elems; elems = OVL_NEXT (elems))
              {
                elem = OVL_CURRENT (elems);
-               if (comp_target_types (lhstype, TREE_TYPE (elem), 1) > 0)
+               if (TREE_CODE (elem) == FUNCTION_DECL
+                   && comp_target_types (lhstype, TREE_TYPE (elem), 1) > 0)
                  break;
              }
            if (elems)
@@ -5205,7 +5207,8 @@ instantiate_type (lhstype, rhs, complain)
                     elems = OVL_CHAIN (elems))
                  {
                    elem = OVL_FUNCTION (elems);
-                   if (comp_target_types (lhstype, TREE_TYPE (elem), 0) > 0)
+                   if (TREE_CODE (elem) == FUNCTION_DECL
+                       && comp_target_types (lhstype, TREE_TYPE (elem), 0) >0)
                      break;
                  }
                if (elems)