]>
Commit | Line | Data |
---|---|---|
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). | |
4 | long-double-fcts = yes | |
99c01221 | 5 | ifeq (,$(filter -mlong-double-128,$(sysdep-CFLAGS))) |
c6251f03 | 6 | sysdep-CFLAGS += -mlong-double-128 |
99c01221 | 7 | endif |
c6251f03 RM |
8 | |
9 | ifeq ($(subdir),math) | |
10 | libm-routines += s_nexttowardfd | |
35caceb1 | 11 | routines += nldbl-compat |
c6251f03 RM |
12 | |
13 | extra-libs += libnldbl | |
14 | libnldbl-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 \ |
eaf5ad0b | 45 | nextup nextdown totalorder totalordermag getpayload \ |
41c67149 | 46 | canonicalize setpayload setpayloadsig llogb fmaxmag fminmag \ |
8d3f9e85 | 47 | roundeven fromfp ufromfp fromfpx ufromfpx fadd dadd \ |
632a6cbe | 48 | fdiv ddiv fmul dmul fsub dsub |
c6251f03 RM |
49 | libnldbl-routines = $(libnldbl-calls:%=nldbl-%) |
50 | libnldbl-inhibit-o = $(object-suffixes) | |
51 | libnldbl-static-only-routines = $(libnldbl-routines) | |
5bd66283 | 52 | extra-objs += $(addsuffix .oS, $(libnldbl-routines)) |
c6251f03 | 53 | |
c33aa6e3 JM |
54 | CFLAGS-nldbl-acos.c = -fno-builtin-acosl |
55 | CFLAGS-nldbl-acosh.c = -fno-builtin-acoshl | |
56 | CFLAGS-nldbl-asin.c = -fno-builtin-asinl | |
57 | CFLAGS-nldbl-asinh.c = -fno-builtin-asinhl | |
58 | CFLAGS-nldbl-atan.c = -fno-builtin-atanl | |
59 | CFLAGS-nldbl-atan2.c = -fno-builtin-atan2l | |
60 | CFLAGS-nldbl-atanh.c = -fno-builtin-atanhl | |
61 | CFLAGS-nldbl-cabs.c = -fno-builtin-cabsl | |
62 | CFLAGS-nldbl-cacos.c = -fno-builtin-cacosl | |
63 | CFLAGS-nldbl-cacosh.c = -fno-builtin-cacoshl | |
eaf5ad0b | 64 | CFLAGS-nldbl-canonicalize.c = -fno-builtin-canonicalizel |
c33aa6e3 JM |
65 | CFLAGS-nldbl-carg.c = -fno-builtin-cargl |
66 | CFLAGS-nldbl-casin.c = -fno-builtin-casinl | |
67 | CFLAGS-nldbl-casinh.c = -fno-builtin-casinhl | |
68 | CFLAGS-nldbl-catan.c = -fno-builtin-catanl | |
69 | CFLAGS-nldbl-catanh.c = -fno-builtin-catanhl | |
70 | CFLAGS-nldbl-cbrt.c = -fno-builtin-cbrtl | |
71 | CFLAGS-nldbl-ccos.c = -fno-builtin-ccosl | |
72 | CFLAGS-nldbl-ccosh.c = -fno-builtin-ccoshl | |
73 | CFLAGS-nldbl-ceil.c = -fno-builtin-ceill | |
74 | CFLAGS-nldbl-cexp.c = -fno-builtin-cexpl | |
75 | CFLAGS-nldbl-cimag.c = -fno-builtin-cimagl | |
76 | CFLAGS-nldbl-clog.c = -fno-builtin-clogl | |
77 | CFLAGS-nldbl-clog10.c = -fno-builtin-clog10l | |
78 | CFLAGS-nldbl-conj.c = -fno-builtin-conjl | |
79 | CFLAGS-nldbl-copysign.c = -fno-builtin-copysignl | |
80 | CFLAGS-nldbl-cos.c = -fno-builtin-cosl | |
81 | CFLAGS-nldbl-cosh.c = -fno-builtin-coshl | |
82 | CFLAGS-nldbl-cpow.c = -fno-builtin-cpowl | |
83 | CFLAGS-nldbl-cproj.c = -fno-builtin-cprojl | |
84 | CFLAGS-nldbl-creal.c = -fno-builtin-creall | |
85 | CFLAGS-nldbl-csin.c = -fno-builtin-csinl | |
86 | CFLAGS-nldbl-csinh.c = -fno-builtin-csinhl | |
87 | CFLAGS-nldbl-csqrt.c = -fno-builtin-csqrtl | |
88 | CFLAGS-nldbl-ctan.c = -fno-builtin-ctanl | |
89 | CFLAGS-nldbl-ctanh.c = -fno-builtin-ctanhl | |
d8742dd8 | 90 | CFLAGS-nldbl-dadd.c = -fno-builtin-daddl |
632a6cbe | 91 | CFLAGS-nldbl-ddiv.c = -fno-builtin-ddivl |
69a01461 | 92 | CFLAGS-nldbl-dmul.c = -fno-builtin-dmull |
8d3f9e85 | 93 | CFLAGS-nldbl-dsub.c = -fno-builtin-dsubl |
c33aa6e3 JM |
94 | CFLAGS-nldbl-erf.c = -fno-builtin-erfl |
95 | CFLAGS-nldbl-erfc.c = -fno-builtin-erfcl | |
96 | CFLAGS-nldbl-exp.c = -fno-builtin-expl | |
97 | CFLAGS-nldbl-exp10.c = -fno-builtin-exp10l | |
98 | CFLAGS-nldbl-exp2.c = -fno-builtin-exp2l | |
99 | CFLAGS-nldbl-expm1.c = -fno-builtin-expm1l | |
100 | CFLAGS-nldbl-fabs.c = -fno-builtin-fabsl | |
d8742dd8 | 101 | CFLAGS-nldbl-fadd.c = -fno-builtin-faddl |
c33aa6e3 | 102 | CFLAGS-nldbl-fdim.c = -fno-builtin-fdiml |
632a6cbe | 103 | CFLAGS-nldbl-fdiv.c = -fno-builtin-fdivl |
c33aa6e3 JM |
104 | CFLAGS-nldbl-finite.c = -fno-builtin-finitel |
105 | CFLAGS-nldbl-floor.c = -fno-builtin-floorl | |
106 | CFLAGS-nldbl-fma.c = -fno-builtin-fmal | |
107 | CFLAGS-nldbl-fmax.c = -fno-builtin-fmaxl | |
525f8039 | 108 | CFLAGS-nldbl-fmaxmag.c = -fno-builtin-fmaxmagl |
c33aa6e3 | 109 | CFLAGS-nldbl-fmin.c = -fno-builtin-fminl |
525f8039 | 110 | CFLAGS-nldbl-fminmag.c = -fno-builtin-fminmagl |
c33aa6e3 | 111 | CFLAGS-nldbl-fmod.c = -fno-builtin-fmodl |
69a01461 | 112 | CFLAGS-nldbl-fmul.c = -fno-builtin-fmull |
c33aa6e3 | 113 | CFLAGS-nldbl-frexp.c = -fno-builtin-frexpl |
423c2b9d JM |
114 | CFLAGS-nldbl-fromfp.c = -fno-builtin-fromfpl |
115 | CFLAGS-nldbl-fromfpx.c = -fno-builtin-fromfpxl | |
8d3f9e85 | 116 | CFLAGS-nldbl-fsub.c = -fno-builtin-fsubl |
c33aa6e3 | 117 | CFLAGS-nldbl-gamma.c = -fno-builtin-gammal |
873febb5 | 118 | CFLAGS-nldbl-getpayload.c = -fno-builtin-getpayloadl |
c33aa6e3 JM |
119 | CFLAGS-nldbl-hypot.c = -fno-builtin-hypotl |
120 | CFLAGS-nldbl-ilogb.c = -fno-builtin-ilogbl | |
121 | CFLAGS-nldbl-isinf.c = -fno-builtin-isinfl | |
122 | CFLAGS-nldbl-isnan.c = -fno-builtin-isnanl | |
123 | CFLAGS-nldbl-j0.c = -fno-builtin-j0l | |
124 | CFLAGS-nldbl-j1.c = -fno-builtin-j1l | |
125 | CFLAGS-nldbl-jn.c = -fno-builtin-jnl | |
126 | CFLAGS-nldbl-ldexp.c = -fno-builtin-ldexpl | |
127 | CFLAGS-nldbl-lgamma.c = -fno-builtin-lgammal | |
128 | CFLAGS-nldbl-lgamma_r.c = -fno-builtin-lgammal_r | |
55a38f82 | 129 | CFLAGS-nldbl-llogb.c = -fno-builtin-llogbl |
c33aa6e3 JM |
130 | CFLAGS-nldbl-llrint.c = -fno-builtin-llrintl |
131 | CFLAGS-nldbl-llround.c = -fno-builtin-llroundl | |
132 | CFLAGS-nldbl-log.c = -fno-builtin-logl | |
133 | CFLAGS-nldbl-log10.c = -fno-builtin-log10l | |
134 | CFLAGS-nldbl-log1p.c = -fno-builtin-log1pl | |
135 | CFLAGS-nldbl-log2.c = -fno-builtin-log2l | |
136 | CFLAGS-nldbl-logb.c = -fno-builtin-logbl | |
137 | CFLAGS-nldbl-lrint.c = -fno-builtin-lrintl | |
138 | CFLAGS-nldbl-lround.c = -fno-builtin-lroundl | |
139 | CFLAGS-nldbl-modf.c = -fno-builtin-modfl | |
140 | CFLAGS-nldbl-nan.c = -fno-builtin-nanl | |
141 | CFLAGS-nldbl-nearbyint.c = -fno-builtin-nearbyintl | |
142 | CFLAGS-nldbl-nextafter.c = -fno-builtin-nextafterl | |
41a359e2 | 143 | CFLAGS-nldbl-nextdown.c = -fno-builtin-nextdownl |
c33aa6e3 JM |
144 | CFLAGS-nldbl-nexttoward.c = -fno-builtin-nexttoward -fno-builtin-nexttowardl |
145 | CFLAGS-nldbl-nexttowardf.c = -fno-builtin-nexttowardf | |
41a359e2 | 146 | CFLAGS-nldbl-nextup.c = -fno-builtin-nextupl |
c33aa6e3 | 147 | CFLAGS-nldbl-pow.c = -fno-builtin-powl |
5ce8f125 | 148 | CFLAGS-nldbl-remainder.c = -fno-builtin-remainderl -fno-builtin-dreml |
c33aa6e3 JM |
149 | CFLAGS-nldbl-remquo.c = -fno-builtin-remquol |
150 | CFLAGS-nldbl-rint.c = -fno-builtin-rintl | |
151 | CFLAGS-nldbl-round.c = -fno-builtin-roundl | |
41c67149 | 152 | CFLAGS-nldbl-roundeven.c = -fno-builtin-roundevenl |
c33aa6e3 JM |
153 | CFLAGS-nldbl-scalb.c = -fno-builtin-scalbl |
154 | CFLAGS-nldbl-scalbln.c = -fno-builtin-scalblnl | |
155 | CFLAGS-nldbl-scalbn.c = -fno-builtin-scalbnl | |
eb3c12c7 | 156 | CFLAGS-nldbl-setpayload.c = -fno-builtin-setpayloadl |
457663a7 | 157 | CFLAGS-nldbl-setpayloadsig.c = -fno-builtin-setpayloadsigl |
c33aa6e3 JM |
158 | CFLAGS-nldbl-significand.c = -fno-builtin-significandl |
159 | CFLAGS-nldbl-sin.c = -fno-builtin-sinl | |
160 | CFLAGS-nldbl-sincos.c = -fno-builtin-sincosl | |
161 | CFLAGS-nldbl-sinh.c = -fno-builtin-sinhl | |
162 | CFLAGS-nldbl-sqrt.c = -fno-builtin-sqrtl | |
163 | CFLAGS-nldbl-tan.c = -fno-builtin-tanl | |
164 | CFLAGS-nldbl-tanh.c = -fno-builtin-tanhl | |
165 | CFLAGS-nldbl-tgamma.c = -fno-builtin-tgammal | |
5e9d98a3 | 166 | CFLAGS-nldbl-totalorder.c = -fno-builtin-totalorderl |
cc6a8d74 | 167 | CFLAGS-nldbl-totalordermag.c = -fno-builtin-totalordermagl |
c33aa6e3 | 168 | CFLAGS-nldbl-trunc.c = -fno-builtin-truncl |
423c2b9d JM |
169 | CFLAGS-nldbl-ufromfp.c = -fno-builtin-ufromfpl |
170 | CFLAGS-nldbl-ufromfpx.c = -fno-builtin-ufromfpxl | |
c33aa6e3 JM |
171 | CFLAGS-nldbl-y0.c = -fno-builtin-y0l |
172 | CFLAGS-nldbl-y1.c = -fno-builtin-y1l | |
173 | CFLAGS-nldbl-yn.c = -fno-builtin-ynl | |
174 | ||
77ad9735 TMQMF |
175 | tests += test-narrow-macros-ldbl-64 test-nldbl-redirect \ |
176 | test-redirection-ldbl-64 | |
8e554659 | 177 | CFLAGS-test-narrow-macros-ldbl-64.c += -mlong-double-64 |
a1987621 | 178 | CFLAGS-test-nldbl-redirect.c += -mlong-double-64 |
77ad9735 | 179 | CFLAGS-test-redirection-ldbl-64.c += -mlong-double-64 |
a1987621 JM |
180 | |
181 | $(objpfx)test-nldbl-redirect: $(objpfx)libnldbl_nonshared.a | |
8e554659 | 182 | |
c6251f03 | 183 | endif |
ea2d89d0 GG |
184 | |
185 | # Tests for argp.h functions (reusing the relevant tests from argp/) | |
186 | ifeq ($(subdir),argp) | |
187 | tests-internal += tst-nldbl-argp | |
188 | ||
189 | $(objpfx)tst-nldbl-argp.c: tst-ldbl-argp.c | |
190 | cp $< $@ | |
191 | ||
192 | CFLAGS-tst-nldbl-argp.c += -mlong-double-64 | |
193 | endif | |
f0eaf862 GG |
194 | |
195 | # Tests for err.h and error.h functions (reusing the relevant tests from | |
196 | # misc/). | |
197 | ifeq ($(subdir), misc) | |
198 | tests-internal += tst-nldbl-warn | |
199 | tests-internal += tst-nldbl-error | |
200 | ||
201 | $(objpfx)tst-nldbl-warn.c: tst-ldbl-warn.c | |
202 | cp $< $@ | |
203 | ||
204 | $(objpfx)tst-nldbl-error.c: tst-ldbl-error.c | |
205 | cp $< $@ | |
206 | ||
207 | CFLAGS-tst-nldbl-warn.c += -mlong-double-64 | |
208 | CFLAGS-tst-nldbl-error.c += -mlong-double-64 | |
209 | endif |