gdbsupport/tdesc: print enum fields using 'evalue' syntax
authorAndrew Burgess <andrew.burgess@embecosm.com>
Tue, 1 Dec 2020 11:07:12 +0000 (11:07 +0000)
committerAndrew Burgess <andrew.burgess@embecosm.com>
Tue, 1 Dec 2020 11:22:24 +0000 (11:22 +0000)
commit54e75f291ef10f2ccb0549b25e0d9d207b325c79
treeb57a8e8bc2fc5adaccaf191fc470d7c3a0ac0bdf
parent4f36e61b2dee8de793b09670378229dfe2750803
gdbsupport/tdesc: print enum fields using 'evalue' syntax

Currently when printing an XML description GDB prints enum values like
this:

  <enum id="levels_type" size="4">
    <field name="low" start="0"/>
    <field name="high" start="1"/>
  </enum>

This is incorrect, and is most likely a copy and paste error with the
struct and flags printing code.  The correct syntax is:

  <enum id="levels_type" size="4">
    <evalue name="low" value="0"/>
    <evalue name="high" value="1"/>
  </enum>

A test is included to cover this functionality.

gdb/testsuite/ChangeLog:

* gdb.xml/maint-xml-dump-03.xml: New file.

gdbsupport/ChangeLog:

* tdesc.cc (print_xml_feature::visit): Print enum fields using
'evalue' syntax.
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.xml/maint-xml-dump-03.xml [new file with mode: 0644]
gdbsupport/ChangeLog
gdbsupport/tdesc.cc