diff options
Diffstat (limited to 'llvm/lib/ObjectYAML/DWARFYAML.cpp')
-rw-r--r-- | llvm/lib/ObjectYAML/DWARFYAML.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/llvm/lib/ObjectYAML/DWARFYAML.cpp b/llvm/lib/ObjectYAML/DWARFYAML.cpp index ca04e2e2687..0a463bd402e 100644 --- a/llvm/lib/ObjectYAML/DWARFYAML.cpp +++ b/llvm/lib/ObjectYAML/DWARFYAML.cpp @@ -26,6 +26,8 @@ void MappingTraits<DWARFYAML::Data>::mapping( IO &IO, DWARFYAML::Data &DWARF) { IO.mapOptional("debug_str", DWARF.DebugStrings); IO.mapOptional("debug_abbrev", DWARF.AbbrevDecls); + if(!DWARF.ARanges.empty() || !IO.outputting()) + IO.mapOptional("debug_aranges", DWARF.ARanges); } void MappingTraits<DWARFYAML::Abbrev>::mapping( @@ -42,6 +44,22 @@ void MappingTraits<DWARFYAML::AttributeAbbrev>::mapping( IO.mapRequired("Form", AttAbbrev.Form); } +void MappingTraits<DWARFYAML::ARangeDescriptor>::mapping( + IO &IO, DWARFYAML::ARangeDescriptor &Descriptor) { + IO.mapRequired("Address", Descriptor.Address); + IO.mapRequired("Length", Descriptor.Length); +} + +void MappingTraits<DWARFYAML::ARange>::mapping(IO &IO, + DWARFYAML::ARange &Range) { + IO.mapRequired("Length", Range.Length); + IO.mapRequired("Version", Range.Version); + IO.mapRequired("CuOffset", Range.CuOffset); + IO.mapRequired("AddrSize", Range.AddrSize); + IO.mapRequired("SegSize", Range.SegSize); + IO.mapRequired("Descriptors", Range.Descriptors); +} + } // namespace llvm::yaml } // namespace llvm |