gdbsupport/tdesc: print enum size attribute

According to gdb online docs[1], XML target description enum types
have both name and size attributes.  Currently GDB does not print the
size attribute.  This commit fixes this.  This change will be visible
in the output of the command `maint print xml-tdesc`.

There are other bugs with the print of enum types in XML target
descriptions, the next commit will fix these and include a test that
covers this patch.

[1] https://sourceware.org/gdb/current/onlinedocs/gdb/Enum-Target-Types.html#Enum-Target-Types

gdbsupport/ChangeLog:

	* tdesc.cc (print_xml_feature::visit): Print enum size attribute.
This commit is contained in:
Chungyi Chi 2020-12-01 11:06:08 +00:00 committed by Andrew Burgess
parent 6729e2c2af
commit 4f36e61b2d
2 changed files with 6 additions and 0 deletions

View File

@ -1,3 +1,7 @@
2020-12-01 Chungyi Chi <demonic@csie.io>
* tdesc.cc (print_xml_feature::visit): Print enum size attribute.
2020-11-20 Tom Tromey <tromey@adacore.com>
* thread-pool.cc (thread_pool::set_thread_count): Ignore system

View File

@ -351,6 +351,8 @@ void print_xml_feature::visit (const tdesc_type_with_fields *t)
break;
case TDESC_TYPE_ENUM:
if (t->size > 0)
string_appendf (tmp, " size=\"%d\"", t->size);
string_appendf (tmp, ">");
add_line (tmp);
for (const tdesc_type_field &f : t->fields)