]> sourceware.org Git - glibc.git/blame - sysdeps/ieee754/ldbl-opt/Makefile
sysdeps/ieee754/ldbl-opt/Makefile: Split and sort tests
[glibc.git] / sysdeps / ieee754 / ldbl-opt / Makefile
CommitLineData
c6251f03
RM
1# The`long double' type is a distinct type we support if
2# -mlong-double-128 option is used (or when it becomes a default
3# when -mlong-double-64 is not used).
4long-double-fcts = yes
99c01221 5ifeq (,$(filter -mlong-double-128,$(sysdep-CFLAGS)))
c6251f03 6sysdep-CFLAGS += -mlong-double-128
99c01221 7endif
c6251f03
RM
8
9ifeq ($(subdir),math)
10libm-routines += s_nexttowardfd
35caceb1 11routines += nldbl-compat
c6251f03
RM
12
13extra-libs += libnldbl
14libnldbl-calls = asprintf dprintf fprintf fscanf fwprintf fwscanf iovfscanf \
15 obstack_printf obstack_vprintf printf scanf snprintf \
16 sprintf sscanf swprintf swscanf vasprintf vdprintf vfprintf \
17 vfscanf vfwprintf vfwscanf vprintf vscanf vsnprintf \
18 vsprintf vsscanf vswprintf vswscanf vwprintf vwscanf \
19 wprintf wscanf printf_fp printf_size \
20 fprintf_chk fwprintf_chk printf_chk snprintf_chk sprintf_chk \
21 swprintf_chk vfprintf_chk vfwprintf_chk vprintf_chk \
22 vsnprintf_chk vsprintf_chk vswprintf_chk vwprintf_chk \
dff37515
UD
23 wprintf_chk asprintf_chk vasprintf_chk dprintf_chk \
24 vdprintf_chk obstack_printf_chk obstack_vprintf_chk \
c6251f03
RM
25 syslog syslog_chk vsyslog vsyslog_chk \
26 strfmon strfmon_l \
6962682f 27 strfroml \
c6251f03
RM
28 strtold strtold_l strtoldint wcstold wcstold_l wcstoldint \
29 qecvt qfcvt qgcvt qecvt_r qfcvt_r \
30 isinf isnan finite signbit scalb log2 lgamma_r ceil \
31 significand acos asin atan atan2 cos sin tan cosh sinh \
5a80d39d 32 tanh acosh asinh atanh exp log log10 exp10 expm1 \
c6251f03
RM
33 log1p logb exp2 sqrt cbrt fabs floor j0 j1 y0 y1 erf erfc \
34 lgamma tgamma gamma rint nearbyint round trunc \
5ce8f125 35 copysign fdim fmax fmin nextafter pow hypot fmod \
c6251f03
RM
36 remainder ldexp scalbn frexp modf scalbln fma nan sincos \
37 jn yn ilogb remquo lrint lround llrint llround nexttowardf \
38 nexttoward conj cacos cacosh casin catan catanh ccos ccosh \
39 casinh cexp clog cproj csin csinh csqrt ctan ctanh cpow \
874aa523
UD
40 cabs carg cimag creal clog10 \
41 isoc99_scanf isoc99_fscanf isoc99_sscanf \
42 isoc99_vscanf isoc99_vfscanf isoc99_vsscanf \
43 isoc99_wscanf isoc99_fwscanf isoc99_swscanf \
41a359e2 44 isoc99_vwscanf isoc99_vfwscanf isoc99_vswscanf \
dee2bea0
JM
45 isoc23_scanf isoc23_fscanf isoc23_sscanf \
46 isoc23_vscanf isoc23_vfscanf isoc23_vsscanf \
47 isoc23_wscanf isoc23_fwscanf isoc23_swscanf \
48 isoc23_vwscanf isoc23_vfwscanf isoc23_vswscanf \
eaf5ad0b 49 nextup nextdown totalorder totalordermag getpayload \
41c67149 50 canonicalize setpayload setpayloadsig llogb fmaxmag fminmag \
8d3f9e85 51 roundeven fromfp ufromfp fromfpx ufromfpx fadd dadd \
90f0ac10
JM
52 fdiv ddiv ffma dfma fmul dmul fsqrt dsqrt fsub dsub \
53 fmaximum fmaximum_mag fmaximum_num fmaximum_mag_num \
79c52daf
JM
54 fminimum fminimum_mag fminimum_num fminimum_mag_num \
55 log2p1
c6251f03
RM
56libnldbl-routines = $(libnldbl-calls:%=nldbl-%)
57libnldbl-inhibit-o = $(object-suffixes)
58libnldbl-static-only-routines = $(libnldbl-routines)
5bd66283 59extra-objs += $(addsuffix .oS, $(libnldbl-routines))
c6251f03 60
c33aa6e3
JM
61CFLAGS-nldbl-acos.c = -fno-builtin-acosl
62CFLAGS-nldbl-acosh.c = -fno-builtin-acoshl
63CFLAGS-nldbl-asin.c = -fno-builtin-asinl
64CFLAGS-nldbl-asinh.c = -fno-builtin-asinhl
65CFLAGS-nldbl-atan.c = -fno-builtin-atanl
66CFLAGS-nldbl-atan2.c = -fno-builtin-atan2l
67CFLAGS-nldbl-atanh.c = -fno-builtin-atanhl
68CFLAGS-nldbl-cabs.c = -fno-builtin-cabsl
69CFLAGS-nldbl-cacos.c = -fno-builtin-cacosl
70CFLAGS-nldbl-cacosh.c = -fno-builtin-cacoshl
eaf5ad0b 71CFLAGS-nldbl-canonicalize.c = -fno-builtin-canonicalizel
c33aa6e3
JM
72CFLAGS-nldbl-carg.c = -fno-builtin-cargl
73CFLAGS-nldbl-casin.c = -fno-builtin-casinl
74CFLAGS-nldbl-casinh.c = -fno-builtin-casinhl
75CFLAGS-nldbl-catan.c = -fno-builtin-catanl
76CFLAGS-nldbl-catanh.c = -fno-builtin-catanhl
77CFLAGS-nldbl-cbrt.c = -fno-builtin-cbrtl
78CFLAGS-nldbl-ccos.c = -fno-builtin-ccosl
79CFLAGS-nldbl-ccosh.c = -fno-builtin-ccoshl
80CFLAGS-nldbl-ceil.c = -fno-builtin-ceill
81CFLAGS-nldbl-cexp.c = -fno-builtin-cexpl
82CFLAGS-nldbl-cimag.c = -fno-builtin-cimagl
83CFLAGS-nldbl-clog.c = -fno-builtin-clogl
84CFLAGS-nldbl-clog10.c = -fno-builtin-clog10l
85CFLAGS-nldbl-conj.c = -fno-builtin-conjl
86CFLAGS-nldbl-copysign.c = -fno-builtin-copysignl
87CFLAGS-nldbl-cos.c = -fno-builtin-cosl
88CFLAGS-nldbl-cosh.c = -fno-builtin-coshl
89CFLAGS-nldbl-cpow.c = -fno-builtin-cpowl
90CFLAGS-nldbl-cproj.c = -fno-builtin-cprojl
91CFLAGS-nldbl-creal.c = -fno-builtin-creall
92CFLAGS-nldbl-csin.c = -fno-builtin-csinl
93CFLAGS-nldbl-csinh.c = -fno-builtin-csinhl
94CFLAGS-nldbl-csqrt.c = -fno-builtin-csqrtl
95CFLAGS-nldbl-ctan.c = -fno-builtin-ctanl
96CFLAGS-nldbl-ctanh.c = -fno-builtin-ctanhl
d8742dd8 97CFLAGS-nldbl-dadd.c = -fno-builtin-daddl
632a6cbe 98CFLAGS-nldbl-ddiv.c = -fno-builtin-ddivl
b3f27d81 99CFLAGS-nldbl-dfma.c = -fno-builtin-dfmal
69a01461 100CFLAGS-nldbl-dmul.c = -fno-builtin-dmull
abd38358 101CFLAGS-nldbl-dsqrt.c = -fno-builtin-dsqrtl
8d3f9e85 102CFLAGS-nldbl-dsub.c = -fno-builtin-dsubl
c33aa6e3
JM
103CFLAGS-nldbl-erf.c = -fno-builtin-erfl
104CFLAGS-nldbl-erfc.c = -fno-builtin-erfcl
105CFLAGS-nldbl-exp.c = -fno-builtin-expl
106CFLAGS-nldbl-exp10.c = -fno-builtin-exp10l
107CFLAGS-nldbl-exp2.c = -fno-builtin-exp2l
108CFLAGS-nldbl-expm1.c = -fno-builtin-expm1l
109CFLAGS-nldbl-fabs.c = -fno-builtin-fabsl
d8742dd8 110CFLAGS-nldbl-fadd.c = -fno-builtin-faddl
c33aa6e3 111CFLAGS-nldbl-fdim.c = -fno-builtin-fdiml
632a6cbe 112CFLAGS-nldbl-fdiv.c = -fno-builtin-fdivl
b3f27d81 113CFLAGS-nldbl-ffma.c = -fno-builtin-ffmal
c33aa6e3
JM
114CFLAGS-nldbl-finite.c = -fno-builtin-finitel
115CFLAGS-nldbl-floor.c = -fno-builtin-floorl
116CFLAGS-nldbl-fma.c = -fno-builtin-fmal
117CFLAGS-nldbl-fmax.c = -fno-builtin-fmaxl
90f0ac10
JM
118CFLAGS-nldbl-fmaximum.c += -fno-builtin-fmaximuml
119CFLAGS-nldbl-fmaximum_mag.c += -fno-builtin-fmaximum_magl
120CFLAGS-nldbl-fmaximum_mag_num.c += -fno-builtin-fmaximum_mag_numl
121CFLAGS-nldbl-fmaximum_num.c += -fno-builtin-fmaximum_numl
525f8039 122CFLAGS-nldbl-fmaxmag.c = -fno-builtin-fmaxmagl
c33aa6e3 123CFLAGS-nldbl-fmin.c = -fno-builtin-fminl
90f0ac10
JM
124CFLAGS-nldbl-fminimum.c += -fno-builtin-fminimuml
125CFLAGS-nldbl-fminimum_mag.c += -fno-builtin-fminimum_magl
126CFLAGS-nldbl-fminimum_mag_num.c += -fno-builtin-fminimum_mag_numl
127CFLAGS-nldbl-fminimum_num.c += -fno-builtin-fminimum_numl
525f8039 128CFLAGS-nldbl-fminmag.c = -fno-builtin-fminmagl
c33aa6e3 129CFLAGS-nldbl-fmod.c = -fno-builtin-fmodl
69a01461 130CFLAGS-nldbl-fmul.c = -fno-builtin-fmull
c33aa6e3 131CFLAGS-nldbl-frexp.c = -fno-builtin-frexpl
423c2b9d
JM
132CFLAGS-nldbl-fromfp.c = -fno-builtin-fromfpl
133CFLAGS-nldbl-fromfpx.c = -fno-builtin-fromfpxl
abd38358 134CFLAGS-nldbl-fsqrt.c = -fno-builtin-fsqrtl
8d3f9e85 135CFLAGS-nldbl-fsub.c = -fno-builtin-fsubl
c33aa6e3 136CFLAGS-nldbl-gamma.c = -fno-builtin-gammal
873febb5 137CFLAGS-nldbl-getpayload.c = -fno-builtin-getpayloadl
c33aa6e3
JM
138CFLAGS-nldbl-hypot.c = -fno-builtin-hypotl
139CFLAGS-nldbl-ilogb.c = -fno-builtin-ilogbl
140CFLAGS-nldbl-isinf.c = -fno-builtin-isinfl
141CFLAGS-nldbl-isnan.c = -fno-builtin-isnanl
142CFLAGS-nldbl-j0.c = -fno-builtin-j0l
143CFLAGS-nldbl-j1.c = -fno-builtin-j1l
144CFLAGS-nldbl-jn.c = -fno-builtin-jnl
145CFLAGS-nldbl-ldexp.c = -fno-builtin-ldexpl
146CFLAGS-nldbl-lgamma.c = -fno-builtin-lgammal
147CFLAGS-nldbl-lgamma_r.c = -fno-builtin-lgammal_r
55a38f82 148CFLAGS-nldbl-llogb.c = -fno-builtin-llogbl
c33aa6e3
JM
149CFLAGS-nldbl-llrint.c = -fno-builtin-llrintl
150CFLAGS-nldbl-llround.c = -fno-builtin-llroundl
151CFLAGS-nldbl-log.c = -fno-builtin-logl
152CFLAGS-nldbl-log10.c = -fno-builtin-log10l
153CFLAGS-nldbl-log1p.c = -fno-builtin-log1pl
154CFLAGS-nldbl-log2.c = -fno-builtin-log2l
79c52daf 155CFLAGS-nldbl-log2p1.c = -fno-builtin-log2p1l
c33aa6e3
JM
156CFLAGS-nldbl-logb.c = -fno-builtin-logbl
157CFLAGS-nldbl-lrint.c = -fno-builtin-lrintl
158CFLAGS-nldbl-lround.c = -fno-builtin-lroundl
159CFLAGS-nldbl-modf.c = -fno-builtin-modfl
160CFLAGS-nldbl-nan.c = -fno-builtin-nanl
161CFLAGS-nldbl-nearbyint.c = -fno-builtin-nearbyintl
162CFLAGS-nldbl-nextafter.c = -fno-builtin-nextafterl
41a359e2 163CFLAGS-nldbl-nextdown.c = -fno-builtin-nextdownl
c33aa6e3
JM
164CFLAGS-nldbl-nexttoward.c = -fno-builtin-nexttoward -fno-builtin-nexttowardl
165CFLAGS-nldbl-nexttowardf.c = -fno-builtin-nexttowardf
41a359e2 166CFLAGS-nldbl-nextup.c = -fno-builtin-nextupl
c33aa6e3 167CFLAGS-nldbl-pow.c = -fno-builtin-powl
5ce8f125 168CFLAGS-nldbl-remainder.c = -fno-builtin-remainderl -fno-builtin-dreml
c33aa6e3
JM
169CFLAGS-nldbl-remquo.c = -fno-builtin-remquol
170CFLAGS-nldbl-rint.c = -fno-builtin-rintl
171CFLAGS-nldbl-round.c = -fno-builtin-roundl
41c67149 172CFLAGS-nldbl-roundeven.c = -fno-builtin-roundevenl
c33aa6e3
JM
173CFLAGS-nldbl-scalb.c = -fno-builtin-scalbl
174CFLAGS-nldbl-scalbln.c = -fno-builtin-scalblnl
175CFLAGS-nldbl-scalbn.c = -fno-builtin-scalbnl
eb3c12c7 176CFLAGS-nldbl-setpayload.c = -fno-builtin-setpayloadl
457663a7 177CFLAGS-nldbl-setpayloadsig.c = -fno-builtin-setpayloadsigl
c33aa6e3
JM
178CFLAGS-nldbl-significand.c = -fno-builtin-significandl
179CFLAGS-nldbl-sin.c = -fno-builtin-sinl
180CFLAGS-nldbl-sincos.c = -fno-builtin-sincosl
181CFLAGS-nldbl-sinh.c = -fno-builtin-sinhl
182CFLAGS-nldbl-sqrt.c = -fno-builtin-sqrtl
183CFLAGS-nldbl-tan.c = -fno-builtin-tanl
184CFLAGS-nldbl-tanh.c = -fno-builtin-tanhl
185CFLAGS-nldbl-tgamma.c = -fno-builtin-tgammal
5e9d98a3 186CFLAGS-nldbl-totalorder.c = -fno-builtin-totalorderl
cc6a8d74 187CFLAGS-nldbl-totalordermag.c = -fno-builtin-totalordermagl
c33aa6e3 188CFLAGS-nldbl-trunc.c = -fno-builtin-truncl
423c2b9d
JM
189CFLAGS-nldbl-ufromfp.c = -fno-builtin-ufromfpl
190CFLAGS-nldbl-ufromfpx.c = -fno-builtin-ufromfpxl
c33aa6e3
JM
191CFLAGS-nldbl-y0.c = -fno-builtin-y0l
192CFLAGS-nldbl-y1.c = -fno-builtin-y1l
193CFLAGS-nldbl-yn.c = -fno-builtin-ynl
194
acfb169b
L
195tests += \
196 test-narrow-macros-ldbl-64 \
197 test-nldbl-redirect \
198 test-redirection-ldbl-64 \
199# tests
8e554659 200CFLAGS-test-narrow-macros-ldbl-64.c += -mlong-double-64
a1987621 201CFLAGS-test-nldbl-redirect.c += -mlong-double-64
77ad9735 202CFLAGS-test-redirection-ldbl-64.c += -mlong-double-64
a1987621
JM
203
204$(objpfx)test-nldbl-redirect: $(objpfx)libnldbl_nonshared.a
acfb169b 205$(objpfx)test-nldbl-redirect-static: $(objpfx)libnldbl_nonshared.a
8e554659 206
c6251f03 207endif
ea2d89d0
GG
208
209# Tests for argp.h functions (reusing the relevant tests from argp/)
210ifeq ($(subdir),argp)
211tests-internal += tst-nldbl-argp
212
213$(objpfx)tst-nldbl-argp.c: tst-ldbl-argp.c
214 cp $< $@
215
216CFLAGS-tst-nldbl-argp.c += -mlong-double-64
217endif
f0eaf862
GG
218
219# Tests for err.h and error.h functions (reusing the relevant tests from
220# misc/).
221ifeq ($(subdir), misc)
222tests-internal += tst-nldbl-warn
223tests-internal += tst-nldbl-error
1a57ab0c 224tests-internal += tst-nldbl-errorfptr
f0eaf862
GG
225
226$(objpfx)tst-nldbl-warn.c: tst-ldbl-warn.c
227 cp $< $@
228
229$(objpfx)tst-nldbl-error.c: tst-ldbl-error.c
230 cp $< $@
231
1a57ab0c
SM
232$(objpfx)tst-nldbl-errorfptr.c: tst-ldbl-errorfptr.c
233 cp $< $@
f0eaf862
GG
234CFLAGS-tst-nldbl-warn.c += -mlong-double-64
235CFLAGS-tst-nldbl-error.c += -mlong-double-64
1a57ab0c 236CFLAGS-tst-nldbl-errorfptr.c += -mlong-double-64
f0eaf862 237endif
dee2bea0
JM
238
239ifeq ($(subdir), stdio-common)
acfb169b
L
240tests += \
241 tst-nldbl-scanf-binary-c11 \
242 tst-nldbl-scanf-binary-c23 \
243 tst-nldbl-scanf-binary-gnu11 \
244 tst-nldbl-scanf-binary-gnu89 \
245# tests
dee2bea0 246
42cc619d
JM
247# Some versions of GCC supported for building glibc do not support -std=c23
248# (added in GCC 14), or the older name -std=c2x (added in GCC 9), so
249# the test for that version uses -std=c11 and then _ISOC23_SOURCE is defined in
dee2bea0
JM
250# the test as needed.
251CFLAGS-tst-nldbl-scanf-binary-c11.c += -mlong-double-64 -std=c11 \
252 -DOBJPFX=\"$(objpfx)\"
83d8d289 253CFLAGS-tst-nldbl-scanf-binary-c23.c += -mlong-double-64 -std=c11 \
dee2bea0
JM
254 -DOBJPFX=\"$(objpfx)\"
255CFLAGS-tst-nldbl-scanf-binary-gnu11.c += -mlong-double-64 -std=gnu11 \
256 -DOBJPFX=\"$(objpfx)\"
257CFLAGS-tst-nldbl-scanf-binary-gnu89.c += -mlong-double-64 -std=gnu89 \
258 -DOBJPFX=\"$(objpfx)\"
259
260endif
261
262ifeq ($(subdir), wcsmbs)
acfb169b
L
263tests += \
264 tst-nldbl-wscanf-binary-c11 \
265 tst-nldbl-wscanf-binary-c23 \
266 tst-nldbl-wscanf-binary-gnu11 \
267 tst-nldbl-wscanf-binary-gnu89 \
268# tests
dee2bea0 269
42cc619d
JM
270# Some versions of GCC supported for building glibc do not support -std=c23
271# (added in GCC 14), or the older name -std=c2x (added in GCC 9), so
272# the test for that version uses -std=c11 and then _ISOC23_SOURCE is defined in
dee2bea0
JM
273# the test as needed.
274CFLAGS-tst-nldbl-wscanf-binary-c11.c += -mlong-double-64 -std=c11 \
275 -DOBJPFX=\"$(objpfx)\"
83d8d289 276CFLAGS-tst-nldbl-wscanf-binary-c23.c += -mlong-double-64 -std=c11 \
dee2bea0
JM
277 -DOBJPFX=\"$(objpfx)\"
278CFLAGS-tst-nldbl-wscanf-binary-gnu11.c += -mlong-double-64 -std=gnu11 \
279 -DOBJPFX=\"$(objpfx)\"
280CFLAGS-tst-nldbl-wscanf-binary-gnu89.c += -mlong-double-64 -std=gnu89 \
281 -DOBJPFX=\"$(objpfx)\"
282
283endif
20c894d2
FB
284
285routines_no_fortify += \
286 nldbl-asprintf \
287 nldbl-dprintf \
288 nldbl-fprintf \
289 nldbl-fwprintf \
290 nldbl-obstack_printf \
291 nldbl-obstack_vprintf \
292 nldbl-printf \
293 nldbl-snprintf \
294 nldbl-sprintf \
295 nldbl-swprintf \
296 nldbl-syslog \
297 nldbl-vasprintf \
298 nldbl-vdprintf \
299 nldbl-vfprintf \
300 nldbl-vfwprintf \
301 nldbl-vprintf \
302 nldbl-vsnprintf \
303 nldbl-vsprintf \
304 nldbl-vswprintf \
305 nldbl-vsyslog \
306 nldbl-vwprintf \
307 nldbl-wprintf \
308 # routines_no_fortify
309
310# We can't rely on Makeconfig here for whatever reason
311CFLAGS-.oS += $(call elide-fortify-source,.oS,$(routines_no_fortify))
312CFLAGS-.oS += $(call elide-fortify-source,_chk.oS,$(routines_no_fortify))
This page took 0.531568 seconds and 5 git commands to generate.