diff options
author | Doug Evans <dje@google.com> | 2015-03-30 16:41:05 -0700 |
---|---|---|
committer | Doug Evans <dje@google.com> | 2015-03-30 16:41:05 -0700 |
commit | 13ce92227425999aa2666f4d55286193df7d09ca (patch) | |
tree | 1da690ae4898434c6bad2f1c4624f65562e70909 | |
parent | 6b0ad2ebf6024419c84f35552f4eb55aa0b23195 (diff) | |
download | gdb-13ce92227425999aa2666f4d55286193df7d09ca.zip gdb-13ce92227425999aa2666f4d55286193df7d09ca.tar.gz gdb-13ce92227425999aa2666f4d55286193df7d09ca.tar.bz2 |
PR c++/18141
gdb/ChangeLog:
PR c++/18141
* cp-namespace.c (cp_search_static_and_baseclasses): Always look for
klass in VAR_DOMAIN.
-rw-r--r-- | gdb/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/cp-namespace.c | 7 |
2 files changed, 11 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 651383f..6c4bbe5 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2015-03-30 Doug Evans <dje@google.com> + + PR c++/18141 + * cp-namespace.c (cp_search_static_and_baseclasses): Always look for + klass in VAR_DOMAIN. + 2015-03-30 Gary Benson <gbenson@redhat.com> * remote.c (remote_mourn_1): Remove function. Update all callers diff --git a/gdb/cp-namespace.c b/gdb/cp-namespace.c index 4a00cb6..0feeb35 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); |