1 2.include <bsd.own.mk> 3 4TESTSRC= ${SRCTOP}/contrib/netbsd-tests/lib/libm 5 6# All architectures on FreeBSD have fenv.h 7CFLAGS+= -DHAVE_FENV_H 8 9# For isqemu.h 10CFLAGS+= -I${TESTSRC:H}/libc/gen 11 12# Define __HAVE_LONG_DOUBLE for architectures whose long double has greater 13# precision than their double. 14.if ${MACHINE_CPUARCH} == "aarch64" || \ 15 ${MACHINE_CPUARCH} == "amd64" || \ 16 ${MACHINE_CPUARCH} == "i386" || \ 17 ${MACHINE_CPUARCH} == "riscv" 18CFLAGS+= -D__HAVE_LONG_DOUBLE 19.endif 20 21# Avoid builtins, to force the compiler to emit calls to the libm 22# functions, and not calculate any results in advance. 23CFLAGS+= -fno-builtin 24 25NETBSD_ATF_TESTS_C= acos_test 26NETBSD_ATF_TESTS_C+= asin_test 27NETBSD_ATF_TESTS_C+= atan_test 28NETBSD_ATF_TESTS_C+= bit_test 29# TODO: NETBSD_ATF_TESTS_CXX+= cabsl_test 30NETBSD_ATF_TESTS_C+= cbrt_test 31NETBSD_ATF_TESTS_C+= ceil_test 32NETBSD_ATF_TESTS_C+= casinh_test 33NETBSD_ATF_TESTS_C+= cos_test 34NETBSD_ATF_TESTS_C+= cosh_test 35NETBSD_ATF_TESTS_C+= erf_test 36NETBSD_ATF_TESTS_C+= exp_test 37NETBSD_ATF_TESTS_C+= fmod_test 38NETBSD_ATF_TESTS_C+= fe_round_test 39NETBSD_ATF_TESTS_C+= hypot_test 40NETBSD_ATF_TESTS_C+= infinity_test 41NETBSD_ATF_TESTS_C+= ilogb_test 42NETBSD_ATF_TESTS_C+= ldexp_test 43NETBSD_ATF_TESTS_C+= log_test 44NETBSD_ATF_TESTS_C+= pow_test 45NETBSD_ATF_TESTS_C+= precision_test 46NETBSD_ATF_TESTS_C+= round_test 47NETBSD_ATF_TESTS_C+= scalbn_test 48NETBSD_ATF_TESTS_C+= sin_test 49NETBSD_ATF_TESTS_C+= sinh_test 50NETBSD_ATF_TESTS_C+= sqrt_test 51NETBSD_ATF_TESTS_C+= tan_test 52NETBSD_ATF_TESTS_C+= tanh_test 53 54ATF_TESTS_C+= cexp_test 55ATF_TESTS_C+= conj_test 56ATF_TESTS_C+= csqrt_test 57ATF_TESTS_C+= ctrig_test 58ATF_TESTS_C+= exponential_test 59ATF_TESTS_C+= fenv_test 60ATF_TESTS_C+= fma_test 61ATF_TESTS_C+= fmaxmin_test 62ATF_TESTS_C+= ilogb2_test 63ATF_TESTS_C+= invtrig_test 64ATF_TESTS_C+= invctrig_test 65ATF_TESTS_C+= logarithm_test 66ATF_TESTS_C+= lrint_test 67ATF_TESTS_C+= lround_test 68ATF_TESTS_C+= nan_test 69ATF_TESTS_C+= nearbyint_test 70ATF_TESTS_C+= next_test 71ATF_TESTS_C+= rem_test 72ATF_TESTS_C+= trig_test 73 74.if !empty(PROG) && !empty(TAP_TESTS_C:M${PROG}) 75CFLAGS+= -O0 76.endif 77 78#COPTS+= -Wfloat-equal 79 80IGNORE_PRAGMA= 81 82SRCS.ilogb2_test= ilogb_test.c 83 84LIBADD.fenv_test+= util 85LIBADD+= m 86 87# Copied from lib/msun/Makefile 88.if ${MACHINE_CPUARCH} == "i386" 89ARCH_SUBDIR= i387 90.else 91ARCH_SUBDIR= ${MACHINE_CPUARCH} 92.endif 93 94.include "../${ARCH_SUBDIR}/Makefile.inc" 95 96# XXX: for some odd reason float.h doesn't tell the full story about what the 97# precision is. 98CFLAGS+= -DLDBL_PREC=${LDBL_PREC} 99 100CFLAGS.fe_round_test+= -D__HAVE_FENV 101 102.include <bsd.compiler.mk> 103.if ${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} >= 120000 104# Silence '#pragma FENV_ACCESS' is not supported on this target - ignored 105CWARNFLAGS+= -Wno-error=ignored-pragmas 106.endif 107 108.include <netbsd-tests.test.mk> 109 110.include <bsd.test.mk> 111