Darwin should use _setjmp/_longjmp instead of setjmp/longjmp.
llvm-svn: 26833
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp
index c17795f..a9f09b5 100644
--- a/llvm/lib/Target/X86/X86ISelLowering.cpp
+++ b/llvm/lib/Target/X86/X86ISelLowering.cpp
@@ -50,6 +50,10 @@
setShiftAmountFlavor(Mask); // shl X, 32 == shl X, 0
setStackPointerRegisterToSaveRestore(X86::ESP);
+ if (!TM.getSubtarget<X86Subtarget>().isTargetDarwin())
+ // Darwin should use _setjmp/_longjmp instead of setjmp/longjmp.
+ setUseUnderscoreSetJmpLongJmp(true);
+
// Add legal addressing mode scale values.
addLegalAddressScale(8);
addLegalAddressScale(4);