summaryrefslogtreecommitdiffstats
path: root/llvm/lib/ObjectYAML/DWARFYAML.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/ObjectYAML/DWARFYAML.cpp')
-rw-r--r--llvm/lib/ObjectYAML/DWARFYAML.cpp18
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
OpenPOWER on IntegriCloud