gdb: print unknown part of flag enum in hex
When we print the "unknown" part of a flag enum, it is printed in decimal. I think it would be more useful if it was printed in hex, as it helps to determine which bits are set more than a decimal value. gdb/ChangeLog: * valprint.c (generic_val_print_enum_1): Print unknown part of flag enum in hex. gdb/testsuite/ChangeLog: * gdb.base/printcmds.exp (test_print_enums): Expect hex values for "unknown".
This commit is contained in:
parent
6740f0cc3b
commit
b29a2df000
4 changed files with 14 additions and 4 deletions
|
@ -1,3 +1,8 @@
|
|||
2020-02-18 Simon Marchi <simon.marchi@efficios.com>
|
||||
|
||||
* valprint.c (generic_val_print_enum_1): Print unknown part of
|
||||
flag enum in hex.
|
||||
|
||||
2020-02-18 Simon Marchi <simon.marchi@efficios.com>
|
||||
|
||||
* dwarf2/read.c (update_enumeration_type_from_children): Allow
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2020-02-18 Simon Marchi <simon.marchi@efficios.com>
|
||||
|
||||
* gdb.base/printcmds.exp (test_print_enums): Expect hex values
|
||||
for "unknown".
|
||||
|
||||
2020-02-18 Simon Marchi <simon.marchi@efficios.com>
|
||||
|
||||
* gdb.base/printcmds.c (enum flag_enum): Add FE_TWO_LEGACY
|
||||
|
|
|
@ -743,10 +743,10 @@ proc test_print_enums {} {
|
|||
gdb_test "print (enum flag_enum) 0x0" [string_to_regexp " = FE_NONE"]
|
||||
|
||||
# Print a flag enum with value 0, where no enumerator has value 0.
|
||||
gdb_test "print flag_enum_without_zero" [string_to_regexp " = (unknown: 0)"]
|
||||
gdb_test "print flag_enum_without_zero" [string_to_regexp " = (unknown: 0x0)"]
|
||||
|
||||
# Print a flag enum with unknown bits set.
|
||||
gdb_test "print (enum flag_enum) 0xf1" [string_to_regexp " = (FE_ONE | unknown: 240)"]
|
||||
gdb_test "print (enum flag_enum) 0xf1" [string_to_regexp " = (FE_ONE | unknown: 0xf0)"]
|
||||
|
||||
# Test printing an enum not considered a "flag enum" (because one of its
|
||||
# enumerators has multiple bits set).
|
||||
|
|
|
@ -660,8 +660,8 @@ generic_val_print_enum_1 (struct type *type, LONGEST val,
|
|||
{
|
||||
if (!first)
|
||||
fputs_filtered (" | ", stream);
|
||||
fputs_filtered ("unknown: ", stream);
|
||||
print_longest (stream, 'd', 0, val);
|
||||
fputs_filtered ("unknown: 0x", stream);
|
||||
print_longest (stream, 'x', 0, val);
|
||||
}
|
||||
|
||||
fputs_filtered (")", stream);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue