aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChungyi Chi <demonic@csie.io>2020-12-01 11:06:08 +0000
committerAndrew Burgess <andrew.burgess@embecosm.com>2020-12-01 11:22:24 +0000
commit4f36e61b2dee8de793b09670378229dfe2750803 (patch)
tree22721b8ede1760c8b18fb6db5f9e3ddcf98c5f77
parent6729e2c2af2bd94408430734316597843718a484 (diff)
downloadgdb-4f36e61b2dee8de793b09670378229dfe2750803.zip
gdb-4f36e61b2dee8de793b09670378229dfe2750803.tar.gz
gdb-4f36e61b2dee8de793b09670378229dfe2750803.tar.bz2
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.
-rw-r--r--gdbsupport/ChangeLog4
-rw-r--r--gdbsupport/tdesc.cc2
2 files changed, 6 insertions, 0 deletions
diff --git a/gdbsupport/ChangeLog b/gdbsupport/ChangeLog
index d1e46a3..a77f1c9 100644
--- a/gdbsupport/ChangeLog
+++ b/gdbsupport/ChangeLog
@@ -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
diff --git a/gdbsupport/tdesc.cc b/gdbsupport/tdesc.cc
index c2a3af7..2bc0247 100644
--- a/gdbsupport/tdesc.cc
+++ b/gdbsupport/tdesc.cc
@@ -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)