* dbxout.c (dbxout_type_methods): Do still group methods by name.
authorJason Merrill <jason@redhat.com>
Wed, 23 May 2001 17:37:50 +0000 (13:37 -0400)
committerJason Merrill <jason@gcc.gnu.org>
Wed, 23 May 2001 17:37:50 +0000 (13:37 -0400)
From-SVN: r42504

gcc/ChangeLog
gcc/dbxout.c

index 77d424c9648b032c906935ce2c58cd27081e19aa..4ff07a2df6da844b7710a0071816cdad1c8c10d0 100644 (file)
@@ -1,3 +1,7 @@
+2001-05-23  Jason Merrill  <jason_merrill@redhat.com>
+
+       * dbxout.c (dbxout_type_methods): Do still group methods by name.
+
 2001-05-23  Zack Weinberg  <zackw@stanford.edu>
 
        * diagnostic.c (vnotice): Kill.
index 0d0fd64412a09513fa012f0593249355dfdaae73..78c45a2d88b3f8692d74c805c52279b9b5d2bb22 100644 (file)
@@ -771,6 +771,8 @@ dbxout_type_methods (type)
 
   while (fndecl)
     {
+      int need_prefix = 1;
+
       /* Group together all the methods for the same operation.
         These differ in the types of the arguments.  */
       for (last = NULL_TREE;
@@ -802,10 +804,25 @@ dbxout_type_methods (type)
          if (DECL_IGNORED_P (fndecl) || DECL_ABSTRACT (fndecl))
            continue;
 
+         /* Redundantly output the plain name, since that's what gdb
+            expects.  */
+         if (need_prefix)
+           {
+             tree name = DECL_NAME (fndecl);
+             fprintf (asmfile, "%s::", IDENTIFIER_POINTER (name));
+             CHARS (IDENTIFIER_LENGTH (name) + 2);
+             need_prefix = 0;
+           }
+
          dbxout_type (TREE_TYPE (fndecl), 0);
 
          dbxout_type_method_1 (fndecl, debug_name);
        }
+      if (!need_prefix)
+       {
+          putc (';', asmfile);
+         CHARS (1);
+       }
     }
 }