diff options
| -rw-r--r-- | gcc/ChangeLog | 4 | ||||
| -rw-r--r-- | gcc/dbxout.c | 17 |
2 files changed, 21 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 77d424c..4ff07a2 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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. diff --git a/gcc/dbxout.c b/gcc/dbxout.c index 0d0fd64..78c45a2 100644 --- a/gcc/dbxout.c +++ b/gcc/dbxout.c @@ -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); + } } } |
