aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWenHan Gu <Wenhan.gu@mediatek.com>2013-11-05 23:39:32 +0800
committerLogan Chien <tzuhsiang.chien@gmail.com>2014-09-16 00:03:43 +0800
commit736c5cc8a1a9601f6ad84e9fdecef52058157cf1 (patch)
treed275cb2eace3575e4103c803599b5e6e91064f5b
parenta60f4e8c2c0c70df3b677af6093960ee4ada7783 (diff)
downloadllvm-736c5cc8a1a9601f6ad84e9fdecef52058157cf1.tar.gz
[ndk][arm] Conditional compile fenv.h for NDK headers.
NDK armeabi default use -msoft-float, and it cannot truely use fenv.h since it has vmrs,vmsr inline asm. Change-Id: If49045f2bfed0f33f7dc9156d5eea3bda89ad90a
-rw-r--r--lib/Analysis/ConstantFolding.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/Analysis/ConstantFolding.cpp b/lib/Analysis/ConstantFolding.cpp
index 8dc94219027..46deb79a7ea 100644
--- a/lib/Analysis/ConstantFolding.cpp
+++ b/lib/Analysis/ConstantFolding.cpp
@@ -37,6 +37,11 @@
#include <cerrno>
#include <cmath>
+// NDK fenv.h implementation has vmrs, vmsr that -msoft-float cannot compile.
+#if defined(__ANDROID__) && defined(__arm__) && defined(__SOFTFP__)
+#undef HAVE_FENV_H
+#endif
+
#ifdef HAVE_FENV_H
#include <fenv.h>
#endif