summaryrefslogtreecommitdiff
path: root/include/llvm/DebugInfo/CodeView/ModuleDebugInlineeLinesFragment.h
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2017-05-03 20:26:11 +0000
committerDimitry Andric <dim@FreeBSD.org>2017-05-03 20:26:11 +0000
commit148779df305667b6942fee7e758fdf81a6498f38 (patch)
tree976d85fb9cb4bc8ed54348b045f742be90e10c57 /include/llvm/DebugInfo/CodeView/ModuleDebugInlineeLinesFragment.h
parenta303c417bbdb53703c2c17398b08486bde78f1f6 (diff)
Notes
Diffstat (limited to 'include/llvm/DebugInfo/CodeView/ModuleDebugInlineeLinesFragment.h')
-rw-r--r--include/llvm/DebugInfo/CodeView/ModuleDebugInlineeLinesFragment.h17
1 files changed, 10 insertions, 7 deletions
diff --git a/include/llvm/DebugInfo/CodeView/ModuleDebugInlineeLinesFragment.h b/include/llvm/DebugInfo/CodeView/ModuleDebugInlineeLinesFragment.h
index 177367c111c30..348497cbf7f2a 100644
--- a/include/llvm/DebugInfo/CodeView/ModuleDebugInlineeLinesFragment.h
+++ b/include/llvm/DebugInfo/CodeView/ModuleDebugInlineeLinesFragment.h
@@ -20,6 +20,8 @@ namespace llvm {
namespace codeview {
class ModuleDebugInlineeLineFragmentRef;
+class ModuleDebugFileChecksumFragment;
+class StringTable;
enum class InlineeLinesSignature : uint32_t {
Normal, // CV_INLINEE_SOURCE_LINE_SIGNATURE
@@ -42,11 +44,10 @@ struct InlineeSourceLine {
}
template <> struct VarStreamArrayExtractor<codeview::InlineeSourceLine> {
- typedef codeview::ModuleDebugInlineeLineFragmentRef ContextType;
+ typedef bool ContextType;
static Error extract(BinaryStreamRef Stream, uint32_t &Len,
- codeview::InlineeSourceLine &Item,
- ContextType *Fragment);
+ codeview::InlineeSourceLine &Item, bool HasExtraFiles);
};
namespace codeview {
@@ -74,7 +75,8 @@ private:
class ModuleDebugInlineeLineFragment final : public ModuleDebugFragment {
public:
- explicit ModuleDebugInlineeLineFragment(bool HasExtraFiles);
+ ModuleDebugInlineeLineFragment(ModuleDebugFileChecksumFragment &Checksums,
+ bool HasExtraFiles);
static bool classof(const ModuleDebugFragment *S) {
return S->kind() == ModuleDebugFragmentKind::InlineeLines;
@@ -83,11 +85,12 @@ public:
Error commit(BinaryStreamWriter &Writer) override;
uint32_t calculateSerializedLength() override;
- void addInlineSite(TypeIndex FuncId, uint32_t FileOffset,
- uint32_t SourceLine);
- void addExtraFile(uint32_t FileOffset);
+ void addInlineSite(TypeIndex FuncId, StringRef FileName, uint32_t SourceLine);
+ void addExtraFile(StringRef FileName);
private:
+ ModuleDebugFileChecksumFragment &Checksums;
+
bool HasExtraFiles = false;
uint32_t ExtraFileCount = 0;