aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2025-08-17 11:38:15 -0600
committerTom Tromey <tom@tromey.com>2025-09-08 14:06:10 -0600
commit39ba411286f0560d4f37cf35c78813bb4f43c291 (patch)
tree1f2f2285d5a0050b8f11064b51312e0e7afd1424
parent46eab380ee65ae56c8d586c6aae30cd7d248e198 (diff)
downloadbinutils-39ba411286f0560d4f37cf35c78813bb4f43c291.zip
binutils-39ba411286f0560d4f37cf35c78813bb4f43c291.tar.gz
binutils-39ba411286f0560d4f37cf35c78813bb4f43c291.tar.bz2
Use type-specific lookups in cp-support.c
cp-support.c has code to substitute types for typedef names when canonicalizing a C++ name. I believe this code can use type-specific search domains; and doing this greatly speeds up some cases. Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=33081
-rw-r--r--gdb/cp-support.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gdb/cp-support.c b/gdb/cp-support.c
index be66be9..7ed15ee 100644
--- a/gdb/cp-support.c
+++ b/gdb/cp-support.c
@@ -150,7 +150,8 @@ inspect_type (struct demangle_parse_info *info,
try
{
- sym = lookup_symbol (name, 0, SEARCH_VFT, 0).symbol;
+ sym = lookup_symbol (name, 0, (SEARCH_TYPE_DOMAIN
+ | SEARCH_STRUCT_DOMAIN), 0).symbol;
}
catch (const gdb_exception &except)
{
@@ -504,7 +505,8 @@ replace_typedefs (struct demangle_parse_info *info,
try
{
sym = lookup_symbol (local_name.get (), 0,
- SEARCH_VFT, 0).symbol;
+ (SEARCH_TYPE_DOMAIN
+ | SEARCH_STRUCT_DOMAIN), 0).symbol;
}
catch (const gdb_exception &except)
{