+Sun May 17 14:52:08 1998 Martin v. Loewis <loewis@informatik.hu-berlin.de>
+
+ * typeck.c (type_unknown_p): Return true for TREE_LIST also.
+
+ * call.c (build_method_call): Use TYPE_MAIN_VARIANT on typedefs.
+
+Sun May 17 14:51:41 1998 Jason Merrill <jason@yorick.cygnus.com>
+
+ * call.c (build_scoped_method_call): Likewise.
+
Sun May 17 13:53:48 1998 Mark Mitchell <mmitchell@usa.net>
* init.c (build_new_1): Call suspend_momentary around the creation
exp, basetype, type);
name = TREE_OPERAND (name, 0);
if (TYPE_MAIN_VARIANT (basetype) != name
- && basetype != get_type_value (name))
+ && (TYPE_MAIN_VARIANT (basetype)
+ != TYPE_MAIN_VARIANT (get_type_value (name))))
cp_error ("qualified type `%T' does not match destructor name `~%T'",
basetype, name);
return cp_convert (void_type_node, exp);
if (! (name == TYPE_MAIN_VARIANT (basetype)
|| (IS_AGGR_TYPE (basetype)
&& name == constructor_name (basetype))
- || basetype == get_type_value (name)))
+ || (TYPE_MAIN_VARIANT (basetype)
+ == TYPE_MAIN_VARIANT (get_type_value (name)))))
{
cp_error ("destructor name `~%D' does not match type `%T' of expression",
name, basetype);
tree exp;
{
return (TREE_CODE (exp) == OVERLOAD
+ || TREE_CODE (exp) == TREE_LIST
|| TREE_TYPE (exp) == unknown_type_node
|| (TREE_CODE (TREE_TYPE (exp)) == OFFSET_TYPE
&& TREE_TYPE (TREE_TYPE (exp)) == unknown_type_node));