[PDB/CodeView] Read/write codeview inlinee line information.

Previously we wrote line information and file checksum
information, but we did not write information about inlinee
lines and functions.  This patch adds support for that.

llvm-svn: 301936
This commit is contained in:
Zachary Turner
2017-05-02 16:56:09 +00:00
parent bb34f278a2
commit edef14510e
24 changed files with 506 additions and 66 deletions

View File

@@ -11,6 +11,7 @@
#include "llvm/DebugInfo/CodeView/ModuleDebugFileChecksumFragment.h"
#include "llvm/DebugInfo/CodeView/ModuleDebugFragmentRecord.h"
#include "llvm/DebugInfo/CodeView/ModuleDebugInlineeLinesFragment.h"
#include "llvm/DebugInfo/CodeView/ModuleDebugLineFragment.h"
#include "llvm/DebugInfo/CodeView/ModuleDebugUnknownFragment.h"
#include "llvm/Support/BinaryStreamReader.h"
@@ -37,6 +38,12 @@ Error llvm::codeview::visitModuleDebugFragment(
return V.visitFileChecksums(Fragment);
}
case ModuleDebugFragmentKind::InlineeLines: {
ModuleDebugInlineeLineFragmentRef Fragment;
if (auto EC = Fragment.initialize(Reader))
return EC;
return V.visitInlineeLines(Fragment);
}
default: {
ModuleDebugUnknownFragmentRef Fragment(R.kind(), R.getRecordData());
return V.visitUnknown(Fragment);