diff options
author | Reid Kleckner <reid@kleckner.net> | 2015-01-22 02:27:44 +0000 |
---|---|---|
committer | Reid Kleckner <reid@kleckner.net> | 2015-01-22 02:27:44 +0000 |
commit | f690f5051902cca2ae87d3543dde6177f0df0eec (patch) | |
tree | 009490714688482477c0a0b3076d67ac63c490ba /llvm/lib/CodeGen/AsmPrinter | |
parent | 2a2e1563182c4ded9bb8baeb377a85bc84849549 (diff) | |
download | bcm5719-llvm-f690f5051902cca2ae87d3543dde6177f0df0eec.tar.gz bcm5719-llvm-f690f5051902cca2ae87d3543dde6177f0df0eec.zip |
Win64 SEH: Emit the constant 1 for catch-all into xdata
llvm-svn: 226767
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter')
-rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/Win64Exception.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/Win64Exception.cpp b/llvm/lib/CodeGen/AsmPrinter/Win64Exception.cpp index 80edc405ca9..73278c835bc 100644 --- a/llvm/lib/CodeGen/AsmPrinter/Win64Exception.cpp +++ b/llvm/lib/CodeGen/AsmPrinter/Win64Exception.cpp @@ -145,7 +145,7 @@ const MCSymbolRefExpr *Win64Exception::createImageRel32(const MCSymbol *Value) { /// struct Entry { /// imagerel32 LabelStart; /// imagerel32 LabelEnd; -/// imagerel32 FilterOrFinally; // Zero means catch-all. +/// imagerel32 FilterOrFinally; // One means catch-all. /// imagerel32 LabelLPad; // Zero means __finally. /// } Entries[NumEntries]; /// }; @@ -241,7 +241,7 @@ void Win64Exception::emitCSpecificHandlerTable() { if (TI) // Emit the filter function pointer. Asm->OutStreamer.EmitValue(createImageRel32(Asm->getSymbol(TI)), 4); else // Otherwise, this is a "catch i8* null", or catch all. - Asm->OutStreamer.EmitIntValue(0, 4); + Asm->OutStreamer.EmitIntValue(1, 4); } Asm->OutStreamer.EmitValue(createImageRel32(ClauseLabel), 4); } |