[Lldb-commits] [lldb] [lldb] Scope XML register type IDs to features (PR #216384)
David Spickett via lldb-commits
lldb-commits at lists.llvm.org
Mon Aug 17 02:11:08 PDT 2026
================
@@ -562,7 +562,53 @@ def test_xml_includes_multiple(self):
@skipIfXmlSupportMissing
@skipIfRemote
- def test_xml_includes_flags_redefined(self):
+ def test_xml_type_ids_scoped_to_feature(self):
+ self.setup_multidoc_test(
+ {
+ "target.xml": dedent(
+ """\
+ <?xml version="1.0"?>
+ <target version="1.0">
+ <architecture>aarch64</architecture>
+ <feature name="feature.a">
+ <enum id="shared_enum" size="8">
+ <evalue name="enum_a" value="1"/>
+ </enum>
+ <flags id="shared_flags" size="8">
+ <field name="field_a" start="0" end="0"
+ type="shared_enum"/>
+ </flags>
+ <reg name="x0" regnum="0" bitsize="64"
+ type="shared_flags"/>
+ </feature>
+ <feature name="feature.b">
+ <enum id="shared_enum" size="4">
+ <evalue name="enum_b" value="1"/>
+ </enum>
+ <flags id="shared_flags" size="4">
+ <field name="field_b" start="0" end="0"
+ type="shared_enum"/>
+ </flags>
+ <reg name="cpsr" regnum="33" bitsize="32"
+ type="shared_flags"/>
+ </feature>
+ <feature name="feature.c">
+ <reg name="pc" bitsize="64" type="shared_flags"/>
+ </feature>
+ </target>"""
+ ),
+ }
+ )
+
+ self.expect(
+ "register read x0 cpsr",
+ substrs=["(field_a = enum_a)", "(field_b = enum_b)"],
----------------
DavidSpickett wrote:
Unlikely to happen but I would make this check more strict in case the types ended up swapped.
Either regex match for the register name then the fields, or read x0 on its own and then cpsr on its own.
https://github.com/llvm/llvm-project/pull/216384
More information about the lldb-commits
mailing list