mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-05-29 23:36:06 +08:00
[Python] Make regexp collection printers work with typedefs as well.
Consider the following type for which we would like to provide a pretty-printer and manage it via RegexpCollectionPrettyPrinter: typedef long time_t; Currently, this does not work because this framework only considers the type's tag name: typename = gdb.types.get_basic_type(val.type).tag if not typename: return None This patch extends it to use the type's name if the basic type does not have a tag name, thus allowing the framework to also work with typedefs like the above. gdb/ChangeLog: * python/lib/gdb/printing.py (RegexpCollectionPrettyPrinter): Use the type's name if its basic type does not have a tag. gdb/testsuite/ChangeLog: * testsuite/gdb.python/py-pp-re-notag.c: New file. * testsuite/gdb.python/py-pp-re-notag.ex: New file. * testsuite/gdb.python/py-pp-re-notag.p: New file.
This commit is contained in:
@ -199,6 +199,8 @@ class RegexpCollectionPrettyPrinter(PrettyPrinter):
|
||||
|
||||
# Get the type name.
|
||||
typename = gdb.types.get_basic_type(val.type).tag
|
||||
if not typename:
|
||||
typename = val.type.name
|
||||
if not typename:
|
||||
return None
|
||||
|
||||
|
Reference in New Issue
Block a user