aboutsummaryrefslogtreecommitdiffstats
path: root/erts/configure.in
diff options
context:
space:
mode:
authorMikael Pettersson <[email protected]>2015-05-06 15:44:54 +0200
committerSverker Eriksson <[email protected]>2015-05-06 15:44:54 +0200
commitb5ab6ded99afb0978dd4722d0d43b755555ac549 (patch)
treea5071653c0fb31d8ef1f73eaae7f01ce962a6998 /erts/configure.in
parent6f05fa95ad949298f5175fc3a25fea52a7a3788d (diff)
downloadotp-b5ab6ded99afb0978dd4722d0d43b755555ac549.tar.gz
otp-b5ab6ded99afb0978dd4722d0d43b755555ac549.tar.bz2
otp-b5ab6ded99afb0978dd4722d0d43b755555ac549.zip
erts: Disable float exceptions for clang/llvm
Change erts/configure.in to force-disable FP exceptions if the VM is compiled by clang/llvm. clang/llvm generates FP code which does not work with FP exceptions (whether unmasked as used in the Erlang VM, or masked followed by tests of which are signalled). This is a known long-standing problem.
Diffstat (limited to 'erts/configure.in')
-rw-r--r--erts/configure.in4
1 files changed, 4 insertions, 0 deletions
diff --git a/erts/configure.in b/erts/configure.in
index 873e1e30fe..795ce0639b 100644
--- a/erts/configure.in
+++ b/erts/configure.in
@@ -2916,6 +2916,10 @@ else
#include <signal.h>
#include <stdlib.h>
+#if defined(__clang__) || defined(__llvm__)
+#error "Clang/LLVM generates broken code for FP exceptions"
+#endif
+
volatile int erl_fp_exception;
/*