]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
2002-05-11 Daniel Jacobowitz <drow@mvista.com>
authorDaniel Jacobowitz <drow@false.org>
Sat, 11 May 2002 22:46:19 +0000 (22:46 +0000)
committerDaniel Jacobowitz <drow@false.org>
Sat, 11 May 2002 22:46:19 +0000 (22:46 +0000)
        From Peter Schauer <Peter.Schauer@Regent.E-Technik.TU-Muenchen.DE>:
        * linespec.c (find_methods): Handle GCC 3.x template constructors.

gdb/ChangeLog
gdb/linespec.c

index e2aad0db845e04eef59d05ed5fc410f1bf23f4f0..042ece37f18f51fa43f680c015d6255fe207a885 100644 (file)
@@ -1,3 +1,8 @@
+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.
+
 2002-05-11  Jason Thorpe  <thorpej@wasabisystems.com>
 
        * nbsd-tdep.c: Fix comment.
index f707234603f8f3a860a514dc4dbbd339e759cfc4..8e51021fc44a071d58eb75973d93fb0c4481dae5 100644 (file)
@@ -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