From: Doug Evans Date: Mon, 30 Mar 2015 23:41:05 +0000 (-0700) Subject: PR c++/18141 X-Git-Tag: users/hjl/linux/release/2.25.51.0.2~2^2~19^2~40 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=13ce92227425999aa2666f4d55286193df7d09ca;p=thirdparty%2Fbinutils-gdb.git PR c++/18141 gdb/ChangeLog: PR c++/18141 * cp-namespace.c (cp_search_static_and_baseclasses): Always look for klass in VAR_DOMAIN. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 651383f5a28..6c4bbe5eb0e 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2015-03-30 Doug Evans + + PR c++/18141 + * cp-namespace.c (cp_search_static_and_baseclasses): Always look for + klass in VAR_DOMAIN. + 2015-03-30 Gary Benson * remote.c (remote_mourn_1): Remove function. Update all callers diff --git a/gdb/cp-namespace.c b/gdb/cp-namespace.c index 4a00cb62e66..0feeb35ba67 100644 --- a/gdb/cp-namespace.c +++ b/gdb/cp-namespace.c @@ -355,8 +355,11 @@ cp_search_static_and_baseclasses (const char *name, make_cleanup (xfree, nested); /* Lookup a class named KLASS. If none is found, there is nothing - more that can be done. */ - klass_sym = lookup_global_symbol (klass, block, domain); + more that can be done. KLASS could be a namespace, so always look + in VAR_DOMAIN. This works for classes too because of + symbol_matches_domain (which should be replaced with something else, + but it's what we have today). */ + klass_sym = lookup_global_symbol (klass, block, VAR_DOMAIN); if (klass_sym == NULL) { do_cleanups (cleanup);