OSDN Git Service

* class.c (add_method): Correct handling of conversion operators.
authormmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 12 Jul 2002 07:55:16 +0000 (07:55 +0000)
committermmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 12 Jul 2002 07:55:16 +0000 (07:55 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@55419 138bc75d-0d04-0410-961f-82ee72b054a4

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

index 38de1a2..e2e1836 100644 (file)
@@ -1,3 +1,7 @@
+2002-07-12  Mark Mitchell  <mark@codesourcery.com>
+
+       * class.c (add_method): Correct handling of conversion operators.
+
 2002-07-11  Mark Mitchell  <mark@codesourcery.com>
 
        PR c++/7224
index 5222665..b59c7ce 100644 (file)
@@ -999,7 +999,10 @@ add_method (type, method, error_p)
          if (! DECL_STATIC_FUNCTION_P (method))
            parms2 = TREE_CHAIN (parms2);
 
-         if (same && compparms (parms1, parms2))
+         if (same && compparms (parms1, parms2) 
+             && (!DECL_CONV_FN_P (fn) 
+                 || same_type_p (TREE_TYPE (TREE_TYPE (fn)),
+                                 TREE_TYPE (TREE_TYPE (method)))))
            {
              if (using && DECL_CONTEXT (fn) == type)
                /* Defer to the local function.  */