aboutsummaryrefslogtreecommitdiff
path: root/lib/msun/tests/Makefile
blob: d58333271e9be561864360319914c175184a2256 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
# $FreeBSD$

.include <bsd.own.mk>

TESTSRC=	${SRCTOP}/contrib/netbsd-tests/lib/libm

# All architectures on FreeBSD have fenv.h
CFLAGS+=	-DHAVE_FENV_H

# For isqemu.h
CFLAGS+=	-I${TESTSRC:H}/libc/gen

# Define __HAVE_LONG_DOUBLE for architectures whose long double has greater
# precision than their double.
.if ${MACHINE_CPUARCH} == "aarch64" || \
    ${MACHINE_CPUARCH} == "amd64" || \
    ${MACHINE_CPUARCH} == "i386" || \
    ${MACHINE_CPUARCH} == "riscv"
CFLAGS+=	-D__HAVE_LONG_DOUBLE
.endif

NETBSD_ATF_TESTS_C=	acos_test
NETBSD_ATF_TESTS_C+=	asin_test
NETBSD_ATF_TESTS_C+=	atan_test
NETBSD_ATF_TESTS_C+=	bit_test
# TODO: NETBSD_ATF_TESTS_CXX+=	cabsl_test
NETBSD_ATF_TESTS_C+=	cbrt_test
NETBSD_ATF_TESTS_C+=	ceil_test
NETBSD_ATF_TESTS_C+=	casinh_test
NETBSD_ATF_TESTS_C+=	cos_test
NETBSD_ATF_TESTS_C+=	cosh_test
NETBSD_ATF_TESTS_C+=	erf_test
NETBSD_ATF_TESTS_C+=	exp_test
NETBSD_ATF_TESTS_C+=	fmod_test
NETBSD_ATF_TESTS_C+=	fe_round_test
NETBSD_ATF_TESTS_C+=	hypot_test
NETBSD_ATF_TESTS_C+=	infinity_test
NETBSD_ATF_TESTS_C+=	ilogb_test
NETBSD_ATF_TESTS_C+=	ldexp_test
NETBSD_ATF_TESTS_C+=	log_test
NETBSD_ATF_TESTS_C+=	pow_test
NETBSD_ATF_TESTS_C+=	precision_test
NETBSD_ATF_TESTS_C+=	round_test
NETBSD_ATF_TESTS_C+=	scalbn_test
NETBSD_ATF_TESTS_C+=	sin_test
NETBSD_ATF_TESTS_C+=	sinh_test
NETBSD_ATF_TESTS_C+=	sqrt_test
NETBSD_ATF_TESTS_C+=	tan_test
NETBSD_ATF_TESTS_C+=	tanh_test

TAP_TESTS_C+=	cexp_test
TAP_TESTS_C+=	conj_test
.if ${MACHINE_CPUARCH} != "aarch64"
# Hits an assert in llvm when building for arm64:
# https://llvm.org/bugs/show_bug.cgi?id=26081
TAP_TESTS_C+=	csqrt_test
.endif
ATF_TESTS_C+=	ctrig_test
TAP_TESTS_C+=	exponential_test
TAP_TESTS_C+=	fenv_test
TAP_TESTS_C+=	fma_test
TAP_TESTS_C+=	fmaxmin_test
TAP_TESTS_C+=	ilogb2_test
TAP_TESTS_C+=	invtrig_test
TAP_TESTS_C+=	invctrig_test
TAP_TESTS_C+=	logarithm_test
TAP_TESTS_C+=	lrint_test
# XXX: the testcase crashes on all platforms, but only on head
# (bug 205451)
#TAP_TESTS_C+=	lround_test
TAP_TESTS_C+=	nan_test
TAP_TESTS_C+=	nearbyint_test
TAP_TESTS_C+=	next_test
TAP_TESTS_C+=	rem_test
ATF_TESTS_C+=	trig_test

.if !empty(PROG) && !empty(TAP_TESTS_C:M${PROG})
CFLAGS+=	-O0
.endif

#COPTS+=	-Wfloat-equal

IGNORE_PRAGMA=

SRCS.ilogb2_test=	ilogb_test.c

LIBADD+=	m

WARNS?=		1

# Copied from lib/msun/Makefile
.if ${MACHINE_CPUARCH} == "i386"
ARCH_SUBDIR= i387
.else
ARCH_SUBDIR= ${MACHINE_CPUARCH}
.endif

.include "../${ARCH_SUBDIR}/Makefile.inc"

# XXX: for some odd reason float.h doesn't tell the full story about what the
# precision is.
CFLAGS+=	-DLDBL_PREC=${LDBL_PREC}

CFLAGS.fe_round_test+=	-D__HAVE_FENV

.include <netbsd-tests.test.mk>

.include <bsd.test.mk>