gdb
PR python/13281: * gdbtypes.h (TYPE_FLAG_ENUM): New macro. (struct main_type) <flag_flag_enum>: New field. * dwarf2read.c (process_enumeration_scope): Detect "flag" enums. * NEWS: Add entries. * c-valprint.c (c_val_print) <TYPE_CODE_ENUM>: Handle "flag" enums. * python/lib/gdb/printing.py (_EnumInstance): New class. (FlagEnumerationPrinter): Likewise. gdb/doc * gdb.texinfo (gdb.printing): Document FlagEnumerationPrinter. gdb/testsuite * gdb.base/printcmds.c (enum flag_enum): New. (three): New global. * gdb.base/printcmds.exp (test_print_enums): Add test for flag enum printing. * gdb.python/py-pp-maint.py (build_pretty_printer): Instantiate FlagEnumerationPrinter. * gdb.python/py-pp-maint.exp: Add tests for FlagEnumerationPrinter. * gdb.python/py-pp-maint.c (enum flag_enum): New. (fval): New global.
This commit is contained in:
parent
983af33b26
commit
cafec44190
14 changed files with 199 additions and 13 deletions
|
@ -67,6 +67,9 @@ def build_pretty_printer():
|
|||
pp.add_printer('struct ss', '^struct ss$', lambda val: pp_ss(val))
|
||||
pp.add_printer('ss', '^ss$', lambda val: pp_ss(val))
|
||||
|
||||
pp.add_printer('enum flag_enum', '^flag_enum$',
|
||||
gdb.printing.FlagEnumerationPrinter('enum flag_enum'))
|
||||
|
||||
return pp
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue