diff options
| author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2018-11-15 15:17:15 +0000 |
|---|---|---|
| committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2018-11-15 15:17:15 +0000 |
| commit | 0db8cb01472f483ec676c9fc91f3d738365b1bb8 (patch) | |
| tree | 469e4bba110ca59a5e92399df912b1b4d0991394 /llvm/lib | |
| parent | 35f3da1925f4f5ba5830108db44f053f917b7d55 (diff) | |
| download | bcm5719-llvm-0db8cb01472f483ec676c9fc91f3d738365b1bb8.tar.gz bcm5719-llvm-0db8cb01472f483ec676c9fc91f3d738365b1bb8.zip | |
[X86] Fix MCNullStreamer support for modules with a CodeView flag
This fixes -filetype=null support when compiling for a Win32 target and the module has a CodeView flag.
The only places changed are the uses of getTargetStreamer function - this patch guards both of them with null checks.
Committed on behalf of @eush (Eugene Sharygin)
Differential Revision: https://reviews.llvm.org/D54008
llvm-svn: 346962
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Target/X86/X86AsmPrinter.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/llvm/lib/Target/X86/X86AsmPrinter.cpp b/llvm/lib/Target/X86/X86AsmPrinter.cpp index 74dbdcd2793..b164b4e1fcf 100644 --- a/llvm/lib/Target/X86/X86AsmPrinter.cpp +++ b/llvm/lib/Target/X86/X86AsmPrinter.cpp @@ -88,19 +88,19 @@ bool X86AsmPrinter::runOnMachineFunction(MachineFunction &MF) { void X86AsmPrinter::EmitFunctionBodyStart() { if (EmitFPOData) { - X86TargetStreamer *XTS = - static_cast<X86TargetStreamer *>(OutStreamer->getTargetStreamer()); - unsigned ParamsSize = - MF->getInfo<X86MachineFunctionInfo>()->getArgumentStackSize(); - XTS->emitFPOProc(CurrentFnSym, ParamsSize); + if (auto *XTS = + static_cast<X86TargetStreamer *>(OutStreamer->getTargetStreamer())) + XTS->emitFPOProc( + CurrentFnSym, + MF->getInfo<X86MachineFunctionInfo>()->getArgumentStackSize()); } } void X86AsmPrinter::EmitFunctionBodyEnd() { if (EmitFPOData) { - X86TargetStreamer *XTS = - static_cast<X86TargetStreamer *>(OutStreamer->getTargetStreamer()); - XTS->emitFPOEndProc(); + if (auto *XTS = + static_cast<X86TargetStreamer *>(OutStreamer->getTargetStreamer())) + XTS->emitFPOEndProc(); } } |

