* call.c (build_method_call): Fix thinko.
authorJason Merrill <jason@yorick.cygnus.com>
Wed, 10 Jun 1998 10:50:44 +0000 (10:50 +0000)
committerJason Merrill <jason@gcc.gnu.org>
Wed, 10 Jun 1998 10:50:44 +0000 (06:50 -0400)
From-SVN: r20413

gcc/cp/ChangeLog
gcc/cp/call.c

index d2645529501e016419abf816cb76ffdcce93e955..33780b8df08fe193d0f5c8a45cd362e2602561e5 100644 (file)
@@ -1,7 +1,6 @@
 1998-06-10  Jason Merrill  <jason@yorick.cygnus.com>
 
-       * call.c (build_scoped_method_call): Fix thinko.
-       (build_method_call): Likewise.
+       * call.c (build_method_call): Fix thinko.
 
 1998-06-10  Dave Brolley  <brolley@cygnus.com>
 
index 3a82b309f16b677698fc4c6949d1d78a564b5d83..173bdde4d9f99738d06efea9af766d330d0b6e59 100644 (file)
@@ -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);