Fix CMake detection of various cmath functions, and XFAIL the test on platforms that are known to be missing them.

llvm-svn: 174564
This commit is contained in:
Owen Anderson 2013-02-07 00:54:05 +00:00
parent bdd4ec71db
commit 389f7dc7a2
3 changed files with 26 additions and 6 deletions

View File

@ -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)

View File

@ -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}

View File

@ -1,4 +1,5 @@
; RUN: opt -constprop -S < %s | FileCheck %s
; XFAIL: win32, freebsd
; CHECK: fabs_call
define half @fabs_call() {