[llvm] [SystemZ][z/OS] yaml2obj GOFF symbols (PR #75971)

James Henderson via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 22 08:46:57 PDT 2024


================
@@ -23,6 +23,191 @@ Object::Object() {}
 
 namespace yaml {
 
+#define ECase(X) IO.enumCase(Value, #X, GOFF::X)
+#define BCase(X) IO.bitSetCase(Value, #X, GOFF::X)
+#define BCaseMask(X, M) IO.maskedBitSetCase(Value, #X, GOFF::X, GOFF::M)
+void ScalarEnumerationTraits<GOFFYAML::GOFF_ESDSYMBOLTYPE>::enumeration(
+    IO &IO, GOFFYAML::GOFF_ESDSYMBOLTYPE &Value) {
+  ECase(ESD_ST_SectionDefinition);
+  ECase(ESD_ST_ElementDefinition);
+  ECase(ESD_ST_LabelDefinition);
+  ECase(ESD_ST_PartReference);
+  ECase(ESD_ST_ExternalReference);
+  IO.enumFallback<Hex8>(Value);
----------------
jh7370 wrote:

I've not checked each of these enums, but in each case, you should have at least one test case that uses the actual named value, and another case that uses the hex fallback. Please make sure to add them all.

https://github.com/llvm/llvm-project/pull/75971


More information about the llvm-commits mailing list