@@ -86,7 +86,7 @@ def find_type(orig, name):
typ = orig.strip_typedefs()
while True:
# Strip cv-qualifiers. PR 67440.
- search = '%s::%s' % (typ.unqualified(), name)
+ search = '%s::%s' % (typ.unqualified().tag, name)
try:
return gdb.lookup_type(search)
except RuntimeError:
@@ -106,7 +106,14 @@ def lookup_templ_spec(templ, *args):
"""
Lookup template specialization templ<args...>
"""
- t = '{}<{}>'.format(templ, ', '.join([str(a) for a in args]))
+ args_str = []
+ for a in args:
+ if isinstance(a, gdb.Type):
+ args_str.append(a.tag)
+ else:
+ args_str.append(str(a))
+
+ t = '{}<{}>'.format(templ, ', '.join(args_str))
try:
return gdb.lookup_type(t)
except gdb.error as e: