From: Joel Brobecker Date: Fri, 19 Feb 2010 01:00:06 +0000 (+0000) Subject: Workaround for PR/10966: X-Git-Tag: gdb_7_1-2010-03-18-release~61 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d6814851fc7207f22d7983601d4a7dedf020b4e0;p=thirdparty%2Fbinutils-gdb.git Workaround for PR/10966: gdb/ChangeLog: * linespec.c (add_matching_methods): Only match methods that are in the VAR_DOMAIN and whose class is LOC_BLOCK. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 68570eb2f5a..7a97f742927 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2010-02-19 Joel Brobecker + + 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 * configure.ac: Disable -Werror by default. diff --git a/gdb/linespec.c b/gdb/linespec.c index 60d76112403..75a74e228d8 100644 --- a/gdb/linespec.c +++ b/gdb/linespec.c @@ -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 {