From: Jason Merrill Date: Wed, 10 Jun 1998 10:50:44 +0000 (+0000) Subject: * call.c (build_method_call): Fix thinko. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1be04112a9ff60192580f59d7109f085540acb41;p=gcc.git * call.c (build_method_call): Fix thinko. From-SVN: r20413 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index d2645529501..33780b8df08 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,7 +1,6 @@ 1998-06-10 Jason Merrill - * call.c (build_scoped_method_call): Fix thinko. - (build_method_call): Likewise. + * call.c (build_method_call): Fix thinko. 1998-06-10 Dave Brolley diff --git a/gcc/cp/call.c b/gcc/cp/call.c index 3a82b309f16..173bdde4d9f 100644 --- a/gcc/cp/call.c +++ b/gcc/cp/call.c @@ -397,7 +397,7 @@ build_scoped_method_call (exp, basetype, name, parms) /* OK */; else if (TREE_CODE (tmp) == IDENTIFIER_NODE) { - if (IS_AGGR_TYPE (basetype) && name == constructor_name (basetype)) + if (IS_AGGR_TYPE (basetype) && tmp == constructor_name (basetype)) tmp = basetype; else tmp = get_type_value (tmp); @@ -648,21 +648,21 @@ build_method_call (instance, name, parms, basetype_path, flags) { tree tmp; - flags |= LOOKUP_DESTRUCTOR; - name = TREE_OPERAND (name, 0); + tmp = name = TREE_OPERAND (name, 0); + if (parms) error ("destructors take no parameters"); basetype = TREE_TYPE (instance); if (TREE_CODE (basetype) == REFERENCE_TYPE) basetype = TREE_TYPE (basetype); - if (TREE_CODE (name) == TYPE_DECL) - tmp = TREE_TYPE (name); - else if (TREE_CODE_CLASS (TREE_CODE (name)) == 't') - tmp = name; - else if (TREE_CODE (name) == IDENTIFIER_NODE) + if (TREE_CODE (tmp) == TYPE_DECL) + tmp = TREE_TYPE (tmp); + else if (TREE_CODE_CLASS (TREE_CODE (tmp)) == 't') + /* OK */; + else if (TREE_CODE (tmp) == IDENTIFIER_NODE) { - if (IS_AGGR_TYPE (basetype) && name == constructor_name (basetype)) + if (IS_AGGR_TYPE (basetype) && tmp == constructor_name (basetype)) tmp = basetype; else tmp = get_type_value (tmp);