diff options
author | Daniel Jacobowitz <dan@debian.org> | 2002-05-11 22:46:19 +0000 |
---|---|---|
committer | Daniel Jacobowitz <dan@debian.org> | 2002-05-11 22:46:19 +0000 |
commit | 23dade6a45a9682f2a5a119325f712786375cb6f (patch) | |
tree | 32cdea3ee88ad525e8a4a64ff0a35da223f7088a /gdb/linespec.c | |
parent | 95dbf44745964ec26d8b564a4d330a1cc0723e8c (diff) | |
download | gdb-23dade6a45a9682f2a5a119325f712786375cb6f.tar.gz |
2002-05-11 Daniel Jacobowitz <drow@mvista.com>
From Peter Schauer <Peter.Schauer@Regent.E-Technik.TU-Muenchen.DE>:
* linespec.c (find_methods): Handle GCC 3.x template constructors.
Diffstat (limited to 'gdb/linespec.c')
-rw-r--r-- | gdb/linespec.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gdb/linespec.c b/gdb/linespec.c index f707234603f..8e51021fc44 100644 --- a/gdb/linespec.c +++ b/gdb/linespec.c @@ -130,6 +130,7 @@ find_methods (struct type *t, char *name, struct symbol **sym_arr) (struct symtab **) NULL))) { int method_counter; + int name_len = strlen (name); CHECK_TYPEDEF (t); @@ -202,7 +203,9 @@ find_methods (struct type *t, char *name, struct symbol **sym_arr) */ } } - else if (strcmp_iw (class_name, name) == 0) + else if (strncmp (class_name, name, name_len) == 0 + && (class_name[name_len] == '\0' + || class_name[name_len] == '<')) { /* For GCC 3.x and stabs, constructors and destructors have names like __base_ctor and __complete_dtor. Check the physname for now |