summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/AsmPrinter
diff options
context:
space:
mode:
authorReid Kleckner <reid@kleckner.net>2015-01-22 02:27:44 +0000
committerReid Kleckner <reid@kleckner.net>2015-01-22 02:27:44 +0000
commitf690f5051902cca2ae87d3543dde6177f0df0eec (patch)
tree009490714688482477c0a0b3076d67ac63c490ba /llvm/lib/CodeGen/AsmPrinter
parent2a2e1563182c4ded9bb8baeb377a85bc84849549 (diff)
downloadbcm5719-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.cpp4
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);
}
OpenPOWER on IntegriCloud