================
@@ -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
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to