aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOwen Anderson <resistor@mac.com>2013-02-07 00:54:05 +0000
committerOwen Anderson <resistor@mac.com>2013-02-07 00:54:05 +0000
commit1e8f6f4df1c8431773bf46e87b284db2b1541234 (patch)
treea19d43fc516ab74a98c036d6f0db24a742d84d36
parentec643abe6903284fc9ae7b6d9ae5e0b4ad40ad28 (diff)
Fix CMake detection of various cmath functions, and XFAIL the test on platforms that are known to be missing them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174564 91177308-0d34-0410-b5e6-96231b3b80d8
-rwxr-xr-xcmake/config-ix.cmake13
-rw-r--r--include/llvm/Config/config.h.cmake18
-rw-r--r--test/Transforms/ConstProp/half.ll1
3 files changed, 26 insertions, 6 deletions
diff --git a/cmake/config-ix.cmake b/cmake/config-ix.cmake
index f077ecaf57..b83c1c67b2 100755
--- a/cmake/config-ix.cmake
+++ b/cmake/config-ix.cmake
@@ -7,6 +7,7 @@ include(CheckIncludeFile)
include(CheckLibraryExists)
include(CheckSymbolExists)
include(CheckFunctionExists)
+include(CheckCXXSymbolExists)
include(CheckCXXSourceCompiles)
include(TestBigEndian)
@@ -119,12 +120,12 @@ check_symbol_exists(isnan math.h HAVE_ISNAN_IN_MATH_H)
check_symbol_exists(ceilf math.h HAVE_CEILF)
check_symbol_exists(floorf math.h HAVE_FLOORF)
check_symbol_exists(fmodf math.h HAVE_FMODF)
-check_symbol_exists(log "math.h cmath" HAVE_LOG)
-check_symbol_exists(log2 "math.h cmath" HAVE_LOG2)
-check_symbol_exists(log10 "math.h cmath" HAVE_LOG10)
-check_symbol_exists(exp "math.h cmath" HAVE_EXP)
-check_symbol_exists(exp2 "math.h cmath" HAVE_EXP2)
-check_symbol_exists(exp10 "math.h cmath" HAVE_EXP10)
+check_cxx_symbol_exists(log cmath HAVE_LOG)
+check_cxx_symbol_exists(log2 cmath HAVE_LOG2)
+check_cxx_symbol_exists(log10 cmath HAVE_LOG10)
+check_cxx_symbol_exists(exp cmath HAVE_EXP)
+check_cxx_symbol_exists(exp2 cmath HAVE_EXP2)
+check_cxx_symbol_exists(exp10 cmath HAVE_EXP10)
if( HAVE_SETJMP_H )
check_symbol_exists(longjmp setjmp.h HAVE_LONGJMP)
check_symbol_exists(setjmp setjmp.h HAVE_SETJMP)
diff --git a/include/llvm/Config/config.h.cmake b/include/llvm/Config/config.h.cmake
index 9487083431..0a26857397 100644
--- a/include/llvm/Config/config.h.cmake
+++ b/include/llvm/Config/config.h.cmake
@@ -146,6 +146,24 @@
/* Define to 1 if you have the `floorf' function. */
#cmakedefine HAVE_FLOORF ${HAVE_FLOORF}
+/* Define to 1 if you have the `log' function. */
+#cmakedefine HAVE_LOG ${HAVE_LOG}
+
+/* Define to 1 if you have the `log2' function. */
+#cmakedefine HAVE_LOG2 ${HAVE_LOG2}
+
+/* Define to 1 if you have the `log10' function. */
+#cmakedefine HAVE_LOG10 ${HAVE_LOG10}
+
+/* Define to 1 if you have the `exp' function. */
+#cmakedefine HAVE_EXP ${HAVE_LOG}
+
+/* Define to 1 if you have the `exp2' function. */
+#cmakedefine HAVE_EXP2 ${HAVE_LOG2}
+
+/* Define to 1 if you have the `exp10' function. */
+#cmakedefine HAVE_EXP10 ${HAVE_LOG10}
+
/* Define to 1 if you have the `fmodf' function. */
#cmakedefine HAVE_FMODF ${HAVE_FMODF}
diff --git a/test/Transforms/ConstProp/half.ll b/test/Transforms/ConstProp/half.ll
index 3d246d8872..b9d2aeb716 100644
--- a/test/Transforms/ConstProp/half.ll
+++ b/test/Transforms/ConstProp/half.ll
@@ -1,4 +1,5 @@
; RUN: opt -constprop -S < %s | FileCheck %s
+; XFAIL: win32, freebsd
; CHECK: fabs_call
define half @fabs_call() {