diff options
Diffstat (limited to 'lib/ObjectYAML/WasmYAML.cpp')
-rw-r--r-- | lib/ObjectYAML/WasmYAML.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/lib/ObjectYAML/WasmYAML.cpp b/lib/ObjectYAML/WasmYAML.cpp index 9b1ff7e5dc16..c5d1b438ee2a 100644 --- a/lib/ObjectYAML/WasmYAML.cpp +++ b/lib/ObjectYAML/WasmYAML.cpp @@ -50,7 +50,11 @@ static void commonSectionMapping(IO &IO, WasmYAML::Section &Section) { static void sectionMapping(IO &IO, WasmYAML::CustomSection &Section) { commonSectionMapping(IO, Section); IO.mapRequired("Name", Section.Name); - IO.mapRequired("Payload", Section.Payload); + if (Section.Name == "name") { + IO.mapOptional("FunctionNames", Section.FunctionNames); + } else { + IO.mapRequired("Payload", Section.Payload); + } } static void sectionMapping(IO &IO, WasmYAML::TypeSection &Section) { @@ -226,6 +230,12 @@ void MappingTraits<WasmYAML::Relocation>::mapping( IO.mapOptional("Addend", Relocation.Addend, 0); } +void MappingTraits<WasmYAML::NameEntry>::mapping( + IO &IO, WasmYAML::NameEntry &NameEntry) { + IO.mapRequired("Index", NameEntry.Index); + IO.mapRequired("Name", NameEntry.Name); +} + void MappingTraits<WasmYAML::LocalDecl>::mapping( IO &IO, WasmYAML::LocalDecl &LocalDecl) { IO.mapRequired("Type", LocalDecl.Type); |