diff options
author | Reid Kleckner <rnk@google.com> | 2016-02-02 17:41:18 +0000 |
---|---|---|
committer | Reid Kleckner <rnk@google.com> | 2016-02-02 17:41:18 +0000 |
commit | 1fcd610c9499d8f1eb42f339926ed17ec6d98ddd (patch) | |
tree | b80a02a7939d74d6657ce1523b272f81ea84b403 /llvm/lib/MC/MCObjectStreamer.cpp | |
parent | 7d6b924df841faff6893207044cc57b02464b255 (diff) | |
download | bcm5719-llvm-1fcd610c9499d8f1eb42f339926ed17ec6d98ddd.tar.gz bcm5719-llvm-1fcd610c9499d8f1eb42f339926ed17ec6d98ddd.zip |
[codeview] Wire up the .cv_inline_linetable directive
This directive emits the binary annotations that describe line and code
deltas in inlined call sites. Single-stepping through inlined frames in
windbg now works.
llvm-svn: 259535
Diffstat (limited to 'llvm/lib/MC/MCObjectStreamer.cpp')
-rw-r--r-- | llvm/lib/MC/MCObjectStreamer.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/llvm/lib/MC/MCObjectStreamer.cpp b/llvm/lib/MC/MCObjectStreamer.cpp index 4f0b597b434..4d849049f60 100644 --- a/llvm/lib/MC/MCObjectStreamer.cpp +++ b/llvm/lib/MC/MCObjectStreamer.cpp @@ -386,12 +386,13 @@ void MCObjectStreamer::EmitCVLinetableDirective(unsigned FunctionId, void MCObjectStreamer::EmitCVInlineLinetableDirective( unsigned PrimaryFunctionId, unsigned SourceFileId, unsigned SourceLineNum, - ArrayRef<unsigned> SecondaryFunctionIds) { + const MCSymbol *FnStartSym, ArrayRef<unsigned> SecondaryFunctionIds) { getContext().getCVContext().emitInlineLineTableForFunction( - *this, PrimaryFunctionId, SourceFileId, SourceLineNum, + *this, PrimaryFunctionId, SourceFileId, SourceLineNum, FnStartSym, SecondaryFunctionIds); this->MCStreamer::EmitCVInlineLinetableDirective( - PrimaryFunctionId, SourceFileId, SourceLineNum, SecondaryFunctionIds); + PrimaryFunctionId, SourceFileId, SourceLineNum, FnStartSym, + SecondaryFunctionIds); } void MCObjectStreamer::EmitCVStringTableDirective() { |