[llvm-commits] [Patch] disable HAVE_EHTABLE_SUPPORT for GCC 4.8 on Win64
Ruben Van Boxem
vanboxem.ruben at gmail.com
Thu Sep 27 04:47:02 PDT 2012
Hi,
GCC 4.8 on Windows 64-bit will use Win64's native SEH functionality for C++
exceptions. This means a new libgcc, and the seh version does not have
__[de]register_frame.
The attached patch adds a check for _WIN64. On this platform, GCC either
uses sjlj (pre-4.8 or if 4.8+ is explicitly configured to use this) or seh,
so the macro should be disabled regardless.
Please comment or apply. Thanks,
Ruben
PS: please also reply to me directly, I am not subscribed to llvm-commits
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120927/52ad6795/attachment.html>
-------------- next part --------------
Index: lib/ExecutionEngine/JIT/JIT.cpp
===================================================================
--- lib/ExecutionEngine/JIT/JIT.cpp (revision 164763)
+++ lib/ExecutionEngine/JIT/JIT.cpp (working copy)
@@ -69,7 +69,7 @@
// Determine whether we can register EH tables.
#if (defined(__GNUC__) && !defined(__ARM_EABI__) && \
- !defined(__USING_SJLJ_EXCEPTIONS__))
+ !(defined(__USING_SJLJ_EXCEPTIONS__) || defined(_WIN64)))
#define HAVE_EHTABLE_SUPPORT 1
#else
#define HAVE_EHTABLE_SUPPORT 0
More information about the llvm-commits
mailing list