aboutsummaryrefslogtreecommitdiff
path: root/gdb/psymtab.c
diff options
context:
space:
mode:
authorKeith Seitz <keiths@redhat.com>2014-06-07 10:40:39 -0700
committerKeith Seitz <keiths@redhat.com>2014-06-07 10:40:39 -0700
commit4186eb54dd4d57b59d58f470ec0fa9b19b9c9d5e (patch)
treea06ca25b09e28008b738dbbda552e4628c4fdbc4 /gdb/psymtab.c
parentb893397a4b1316610f49819344817715e4305de9 (diff)
downloadfsf-binutils-gdb-4186eb54dd4d57b59d58f470ec0fa9b19b9c9d5e.zip
fsf-binutils-gdb-4186eb54dd4d57b59d58f470ec0fa9b19b9c9d5e.tar.gz
fsf-binutils-gdb-4186eb54dd4d57b59d58f470ec0fa9b19b9c9d5e.tar.bz2
Revert patchset for c++/16253: it causes a large performance regression.
See the bug for further information.
Diffstat (limited to 'gdb/psymtab.c')
-rw-r--r--gdb/psymtab.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/gdb/psymtab.c b/gdb/psymtab.c
index 8f2de2a..2787f4c 100644
--- a/gdb/psymtab.c
+++ b/gdb/psymtab.c
@@ -594,7 +594,8 @@ match_partial_symbol (struct objfile *objfile,
while (top <= real_top
&& match (SYMBOL_SEARCH_NAME (*top), name) == 0)
{
- if (SYMBOL_DOMAIN (*top) == domain)
+ if (symbol_matches_domain (SYMBOL_LANGUAGE (*top),
+ SYMBOL_DOMAIN (*top), domain))
return *top;
top++;
}
@@ -607,7 +608,8 @@ match_partial_symbol (struct objfile *objfile,
{
for (psym = start; psym < start + length; psym++)
{
- if (SYMBOL_DOMAIN (*psym) == domain
+ if (symbol_matches_domain (SYMBOL_LANGUAGE (*psym),
+ SYMBOL_DOMAIN (*psym), domain)
&& match (SYMBOL_SEARCH_NAME (*psym), name) == 0)
return *psym;
}
@@ -723,7 +725,8 @@ lookup_partial_symbol (struct objfile *objfile,
while (top <= real_top && SYMBOL_MATCHES_SEARCH_NAME (*top, search_name))
{
- if (SYMBOL_DOMAIN (*top) == domain)
+ if (symbol_matches_domain (SYMBOL_LANGUAGE (*top),
+ SYMBOL_DOMAIN (*top), domain))
{
do_cleanups (cleanup);
return (*top);
@@ -739,7 +742,8 @@ lookup_partial_symbol (struct objfile *objfile,
{
for (psym = start; psym < start + length; psym++)
{
- if (SYMBOL_DOMAIN (*psym) == domain
+ if (symbol_matches_domain (SYMBOL_LANGUAGE (*psym),
+ SYMBOL_DOMAIN (*psym), domain)
&& SYMBOL_MATCHES_SEARCH_NAME (*psym, search_name))
{
do_cleanups (cleanup);
@@ -1219,7 +1223,8 @@ map_block (const char *name, domain_enum namespace, struct objfile *objfile,
for (sym = block_iter_match_first (block, name, match, &iter);
sym != NULL; sym = block_iter_match_next (name, match, &iter))
{
- if (SYMBOL_DOMAIN (sym) == namespace)
+ if (symbol_matches_domain (SYMBOL_LANGUAGE (sym),
+ SYMBOL_DOMAIN (sym), namespace))
{
if (callback (block, sym, data))
return 1;