diff options
Diffstat (limited to 'include/llvm/ObjectYAML/CodeViewYAMLDebugSections.h')
-rw-r--r-- | include/llvm/ObjectYAML/CodeViewYAMLDebugSections.h | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/include/llvm/ObjectYAML/CodeViewYAMLDebugSections.h b/include/llvm/ObjectYAML/CodeViewYAMLDebugSections.h index a6d4d404415f..faa3ed8a6c52 100644 --- a/include/llvm/ObjectYAML/CodeViewYAMLDebugSections.h +++ b/include/llvm/ObjectYAML/CodeViewYAMLDebugSections.h @@ -26,6 +26,8 @@ namespace codeview { class DebugStringTableSubsection; class DebugStringTableSubsectionRef; class DebugChecksumsSubsectionRef; +class DebugStringTableSubsection; +class DebugChecksumsSubsection; } namespace CodeViewYAML { @@ -33,6 +35,23 @@ namespace detail { struct YAMLSubsectionBase; } +struct YAMLFrameData { + uint32_t RvaStart; + uint32_t CodeSize; + uint32_t LocalSize; + uint32_t ParamsSize; + uint32_t MaxStackSize; + StringRef FrameFunc; + uint32_t PrologSize; + uint32_t SavedRegsSize; + uint32_t Flags; +}; + +struct YAMLCrossModuleImport { + StringRef ModuleName; + std::vector<uint32_t> ImportIds; +}; + struct SourceLineEntry { uint32_t Offset; uint32_t LineStart; @@ -92,8 +111,17 @@ struct YAMLDebugSubsection { }; Expected<std::vector<std::unique_ptr<codeview::DebugSubsection>>> -convertSubsectionList(ArrayRef<YAMLDebugSubsection> Subsections, - codeview::DebugStringTableSubsection &Strings); +toCodeViewSubsectionList(BumpPtrAllocator &Allocator, + ArrayRef<YAMLDebugSubsection> Subsections, + codeview::DebugStringTableSubsection &Strings); +Expected<std::vector<std::unique_ptr<codeview::DebugSubsection>>> +toCodeViewSubsectionList( + BumpPtrAllocator &Allocator, ArrayRef<YAMLDebugSubsection> Subsections, + std::unique_ptr<codeview::DebugStringTableSubsection> &TakeStrings, + codeview::DebugStringTableSubsection *StringsRef); + +std::unique_ptr<codeview::DebugStringTableSubsection> +findStringTable(ArrayRef<YAMLDebugSubsection> Sections); } // namespace CodeViewYAML } // namespace llvm |