summaryrefslogtreecommitdiff
path: root/rts
diff options
context:
space:
mode:
authorIan Lynagh <igloo@earth.li>2012-03-16 15:56:04 +0000
committerIan Lynagh <igloo@earth.li>2012-03-16 15:56:04 +0000
commitd66b9cb07b0e03282c8010bcf76168e64cb4acde (patch)
tree540302baaae7f3431e2a3ca3d2a1a4fa21844688 /rts
parent029cd4345a3662f9951d4b3245dc594f24f00b6a (diff)
downloadhaskell-d66b9cb07b0e03282c8010bcf76168e64cb4acde.tar.gz
For now, turn off the SEH code on Win64
Diffstat (limited to 'rts')
-rw-r--r--rts/RtsMain.c4
-rw-r--r--rts/win32/seh_excn.c5
2 files changed, 6 insertions, 3 deletions
diff --git a/rts/RtsMain.c b/rts/RtsMain.c
index e89445db25..435df420c5 100644
--- a/rts/RtsMain.c
+++ b/rts/RtsMain.c
@@ -108,11 +108,11 @@ int hs_main (int argc, char *argv[], // program args
progmain_closure = main_closure;
rtsconfig = rts_config;
-#if defined(mingw32_HOST_OS)
+#if defined(mingw32_HOST_OS) && defined(i386_HOST_ARCH)
BEGIN_CATCH
#endif
real_main();
-#if defined(mingw32_HOST_OS)
+#if defined(mingw32_HOST_OS) && defined(i386_HOST_ARCH)
END_CATCH
#endif
}
diff --git a/rts/win32/seh_excn.c b/rts/win32/seh_excn.c
index 5da7579b10..da5f64d812 100644
--- a/rts/win32/seh_excn.c
+++ b/rts/win32/seh_excn.c
@@ -1,9 +1,11 @@
+#include "ghcconfig.h"
#include "seh_excn.h"
/*
* Exception / signal handlers.
*/
-#if defined(__MINGW32__)
+#if defined(mingw32_HOST_OS)
+#if defined(i386_HOST_ARCH)
jmp_buf seh_unwind_to;
unsigned long seh_excn_code; /* variable used to communicate what kind of exception we've caught;nice. */
@@ -39,4 +41,5 @@ catchDivZero(struct _EXCEPTION_RECORD* rec,
return ExceptionContinueSearch;
}
#endif
+#endif