]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
Workaround for PR/10966:
authorJoel Brobecker <brobecker@gnat.com>
Fri, 19 Feb 2010 01:00:06 +0000 (01:00 +0000)
committerJoel Brobecker <brobecker@gnat.com>
Fri, 19 Feb 2010 01:00:06 +0000 (01:00 +0000)
gdb/ChangeLog:

        * linespec.c (add_matching_methods): Only match methods that are
        in the VAR_DOMAIN and whose class is LOC_BLOCK.

gdb/ChangeLog
gdb/linespec.c

index 68570eb2f5a9890e0ea382e991cc8cf18d4f7e98..7a97f7429273b030f7b9e3295a45b45fc96f22a6 100644 (file)
@@ -1,3 +1,9 @@
+2010-02-19  Joel Brobecker  <brobecker@adacore.com>
+
+       Workaround for PR/10966:
+       * linespec.c (add_matching_methods): Only match methods that are
+       in the VAR_DOMAIN and whose class is LOC_BLOCK.
+
 2010-02-19  Joel Brobecker  <brobecker@adacore.com>
 
        * configure.ac: Disable -Werror by default.
index 60d761124034da5e180bf84d48f20aef6d8a2c6c..75a74e228d84c56e75ef7481df9611a297bafb75 100644 (file)
@@ -313,7 +313,10 @@ add_matching_methods (int method_counter, struct type *t,
                                   NULL, VAR_DOMAIN,
                                   language,
                                   (int *) NULL);
-      if (sym_arr[i1])
+      /* See PR10966.  Remove check on symbol domain and class when
+        we stop using (bad) linkage names on constructors.  */
+      if (sym_arr[i1] && (SYMBOL_DOMAIN (sym_arr[i1]) == VAR_DOMAIN
+                         && SYMBOL_CLASS (sym_arr[i1]) == LOC_BLOCK))
        i1++;
       else
        {