Commit e15a4d0d by Jason Merrill Committed by Jason Merrill

class.c (instantiate_type): Don't consider templates for a normal match.

	* class.c (instantiate_type): Don't consider templates for a normal
	match.

From-SVN: r23412
parent 2455f26f
1998-10-28 Jason Merrill <jason@yorick.cygnus.com> 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 * class.c (finish_struct_1): Don't complain about non-copy
assignment ops in union members. assignment ops in union members.
...@@ -10,6 +13,7 @@ ...@@ -10,6 +13,7 @@
(finish_prevtable_vardecl): Lose. (finish_prevtable_vardecl): Lose.
(finish_file): Don't call it. (finish_file): Don't call it.
* pt.c (instantiate_class_template): Likewise. * pt.c (instantiate_class_template): Likewise.
* cp-tree.h: Remove it.
* init.c (build_delete): Reset TYPE_HAS_DESTRUCTOR here. * init.c (build_delete): Reset TYPE_HAS_DESTRUCTOR here.
* decl.c (finish_function): Not here. * decl.c (finish_function): Not here.
......
...@@ -5140,7 +5140,8 @@ instantiate_type (lhstype, rhs, complain) ...@@ -5140,7 +5140,8 @@ instantiate_type (lhstype, rhs, complain)
else for (elems = rhs; elems; elems = OVL_CHAIN (elems)) else for (elems = rhs; elems; elems = OVL_CHAIN (elems))
{ {
elem = OVL_FUNCTION (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); mark_used (elem);
return elem; return elem;
...@@ -5195,7 +5196,8 @@ instantiate_type (lhstype, rhs, complain) ...@@ -5195,7 +5196,8 @@ instantiate_type (lhstype, rhs, complain)
for (elems = rhs; elems; elems = OVL_NEXT (elems)) for (elems = rhs; elems; elems = OVL_NEXT (elems))
{ {
elem = OVL_CURRENT (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; break;
} }
if (elems) if (elems)
...@@ -5205,7 +5207,8 @@ instantiate_type (lhstype, rhs, complain) ...@@ -5205,7 +5207,8 @@ instantiate_type (lhstype, rhs, complain)
elems = OVL_CHAIN (elems)) elems = OVL_CHAIN (elems))
{ {
elem = OVL_FUNCTION (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; break;
} }
if (elems) if (elems)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment