fe1dfed0daacc867d48b75b69f7f61aad3e1d2ef
[gcc.git] / libquadmath / ChangeLog
1 2011-02-17 Jakub Jelinek <jakub@redhat.com>
2
3 * libquadmath.texi (FLT128_DIG, FLT128_MIN_10_EXP,
4 FLT128_MAX_10_EXP): Document.
5 (strtoflt128): Remove obsolete comment.
6 * configure.ac (HAVE_STRTOULL): New check.
7 * printf/gmp-impl.h (mpn_construct_float128): New prototype,
8 define.
9 * printf/mul_n.c: Include <config.h>.
10 * printf/add_n.c: Likewise.
11 * printf/cmp.c: Likewise.
12 * printf/fpioconst.c: Likewise.
13 * printf/mul_1.c: Likewise.
14 * printf/rshift.c: Likewise.
15 * printf/lshift.c: Likewise.
16 * printf/submul_1.c: Likewise.
17 * printf/sub_n.c: Likewise.
18 * printf/divrem.c: Likewise.
19 * printf/addmul_1.c: Likewise.
20 * printf/mul.c: Likewise.
21 * printf/quadmath-printf.h (isupper, isdigit, tolower): Change
22 to avoid evaluating argument multiple times.
23 (isxdigit): Redefine.
24 * strtod/strtoflt128.c: New file.
25 * strtod/strtod_l.c: New file.
26 * strtod/mpn2flt128.c: New file.
27 * strtod/grouping.h: New file.
28 * strtod/tens_in_limb.c: New file.
29 * gdtoa/arith.h: Removed.
30 * gdtoa/gd_qnan.h: Removed.
31 * gdtoa/gdtoa_fltrnds.h: Removed.
32 * gdtoa/gdtoa.h: Removed.
33 * gdtoa/gdtoaimp.h: Removed.
34 * gdtoa/gethex.c: Removed.
35 * gdtoa/gmisc.c: Removed.
36 * gdtoa/hd_init.c: Removed.
37 * gdtoa/hexnan.c: Removed.
38 * gdtoa/makefile: Removed.
39 * gdtoa/misc.c: Removed.
40 * gdtoa/README.gdtoa: Removed.
41 * gdtoa/smisc.c: Removed.
42 * gdtoa/strtodg.c: Removed.
43 * gdtoa/strtopQ.c: Removed.
44 * gdtoa/sum.c: Removed.
45 * quadmath.h (FLT128_DIG, FLT128_MIN_10_EXP, FLT128_MAX_10_EXP):
46 Define.
47 * Makefile.am (libquadmath_la_SOURCES): Remove gdtoa/*, add
48 strtod/strtoflt128.c, strtod/mpn2flt128.c and strtod/tens_in_limb.c.
49 * config.h.in: Regenerated.
50 * configure: Regenerated.
51 * Makefile.in: Regenerated.
52
53 2011-02-16 Jakub Jelinek <jakub@redhat.com>
54
55 * printf/quadmath-printf.c: Also check __GLIBC__ when checking
56 whether workarounds for printf hook handling should be added.
57
58 * configure.ac: Check for locale.h too.
59 (USE_LOCALE_SUPPORT): Remove check.
60 (USE_NL_LANGINFO, USE_NL_LANGINFO_WC, USE_LOCALECONV): New checks.
61 (USE_I18_NUMBER_H): Check also for _NL_CTYPE_MB_CUR_MAX.
62 * printf/printf_fphex.c (__quadmath_printf_fphex): Use nl_langinfo
63 or localeconv for narrow version and nl_langinfo if USE_NL_LANGINFO_WC
64 for wide version.
65 * printf/quadmath-printf.h: Include locale.h if HAVE_LOCALE_H.
66 * printf/printf_fp.c (USE_I18N_NUMBER_H): Don't define to 0.
67 (__quadmath_printf_fp): Use nl_langinfo or localeconv for narrow
68 version and nl_langinfo if USE_NL_LANGINFO_WC for wide version.
69 Guard nl_langinfo (_NL_CTYPE_MB_CUR_MAX) use with
70 USE_I18N_NUMBER_H #ifdef.
71 * configure: Regenerated.
72 * config.h.in: Regenerated.
73
74 2011-02-14 Jakub Jelinek <jakub@redhat.com>
75
76 PR bootstrap/47736
77 * configure.ac (HAVE_PRINTF_HOOKS): Test if printf_info struct has
78 user field.
79 * printf/quadmath-printf.c (quadmath_snprintf): Clear whole info
80 field instead of setting individual fields to 0. Don't set info.user
81 to -1.
82 * configure: Regenerated.
83
84 * configure.ac (HAVE_HIDDEN_VISIBILITY): Test with -Werror in CFLAGS.
85 * printf/printf_fp.c: Don't include <alloca.h>.
86 * printf/quadmath-printf.h (_itoa): Redefine to __quadmath_itoa.
87 * configure: Regenerated.
88
89 PR fortran/47642
90 * libquadmath.texi (quadmath_snprintf): Document.
91 (quadmath_flt128tostr): Remove.
92 * Makefile.am (libquadmath_la_SOURCES): Add printf/*.c.
93 Remove quadmath_io.c, gdtoa/gdtoa.c, gdtoa/g__fmt.c,
94 gdtoa/g_Qfmt.c, gdtoa/dmisc.c and gdtoa/ulp.c.
95 * quadmath.h (quadmath_snprintf): New prototype.
96 (quadmath_flt128tostr): Remove.
97 * quadmath_weak.h (quadmath_snprintf): Add.
98 (quadmath_flt128tostr): Remove.
99 * configure.ac: New AC_CHECK_HEADERS headers: langinfo.h, wchar.h,
100 wctype.h, limits.h, ctype.h, printf.h, errno.h.
101 (AC_USE_SYSTEM_EXTENSIONS): Add.
102 (HAVE_HIDDEN_VISIBILITY, HAVE_PRINTF_HOOKS,
103 USE_LOCALE_SUPPORT, USE_I18N_NUMBER_H): New checks.
104 * quadmath.map (QUADMATH_1.0): Add quadmath_snprintf. Remove
105 quadmath_flt128tostr.
106 * printf/printf_fphex.c: New file.
107 * printf/_itowa.h: New file.
108 * printf/mul_n.c: New file.
109 * printf/quadmath-printf.h: New file.
110 * printf/submul_1.c: New file.
111 * printf/quadmath-printf.c: New file.
112 * printf/gmp-impl.h: New file.
113 * printf/lshift.c: New file.
114 * printf/fpioconst.h: New file.
115 * printf/add_n.c: New file.
116 * printf/cmp.c: New file.
117 * printf/sub_n.c: New file.
118 * printf/mul.c: New file.
119 * printf/divrem.c: New file.
120 * printf/addmul_1.c: New file.
121 * printf/printf_fp.c: New file.
122 * printf/_itoa.h: New file.
123 * printf/fpioconst.c: New file.
124 * printf/_i18n_number.h: New file.
125 * printf/flt1282mpn.c: New file.
126 * printf/rshift.c: New file.
127 * printf/mul_1.c: New file.
128 * quadmath_io.c: Removed.
129 * gdtoa/gdtoa.c: Removed.
130 * gdtoa/g__fmt.c: Removed.
131 * gdtoa/g_Qfmt.c: Removed.
132 * gdtoa/dmisc.c: Removed.
133 * gdtoa/ulp.c: Removed.
134 * config.h.in: Regenerated.
135 * configure: Regenerated.
136 * Makefile.in: Regenerated.
137
138 2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
139
140 * Makefile.in: Regenerate.
141 * aclocal.m4: Likewise.
142 * configure: Likewise.
143
144 2011-01-31 Jerry DeLisle <jvdelisle@gcc.gnu.org>
145
146 PR libquadmath/47293
147 * gdtoa/qd_qnan.h: Fix NAN bit patterns.
148 * gdtoa/strtopQ.c (strtoflt128): Handle endianess with NAN.
149
150 2011-01-17 Tobias Burnus <burnus@net-b.de>
151
152 PR fortran/47295
153 * libquadmath.text: Document typedef and constants.
154
155 2011-01-17 Tobias Burnus <burnus@net-b.de>
156
157 PR fortran/46817
158 * quadmath-imp.h: Refer to libquadmath not ot libiberty,
159 bump copyright year and use /**/ instead of // comments.
160 * quadmath.h: Ditto.
161 * quadmath-weak.h: Ditto.
162 * quadmath_io.c: Ditto.
163
164 2011-01-16 Jakub Jelinek <jakub@redhat.com>
165
166 PR libfortran/47322
167 * math/remquoq.c (remquoq): Use uint64_t type instead of u_int64_t.
168
169 PR fortran/46625
170 * quadmath.map (QUADMATH_1.0): Remove quadmath_strtopQ
171 and quadmath_dtoaq. Add strtoflt128 and quadmath_flt128tostr.
172 * quadmath_weak.h (quadmath_strtopQ, quadmath_dtoaq): Remove.
173 (strtoflt128, quadmath_flt128tostr): Add.
174 * gdtoa/strtopQ.c (quadmath_strtopQ): Rename to...
175 (strtoflt128): ... this. Return __float128, instead of writing
176 to memory pointed by last argument.
177 * quadmath.h: Use C style comments instead of C++ style.
178 (quadmath_strtopQ, quadmath_dtoaq): Remove prototypes.
179 (strtoflt128, quadmath_flt128tostr): Add prototypes.
180 * libquadmath.texi (quadmath_dtoaq): Rename to quadmath_flt128tostr.
181 (quadmath_strtopQ): Rename to strtoflt128. Adjust prototype,
182 adjust examples.
183 * quadmath_io.c (quadmath_dtoaq): Rename to...
184 (quadmath_flt128tostr): ... this.
185
186 * quadmath.h (__quadmath_throw, __quadmath_nth): Define.
187 Use it for all prototypes.
188
189 PR fortran/46416
190 * quadmath.h (cbrtq, finiteq, isnanq, signbitq, sqrtq): Remove
191 const from prototype argument.
192 (cimagq, conjq, cprojq, crealq, fdimq, fmaxq, fminq, ilogbq,
193 llrintq, log2q, lrintq, nearbyintq, remquoq): New prototypes.
194 (__quadmath_extern_inline): Define.
195 (cimagq, conjq, crealq): New inlines.
196 * Makefile.am (libquadmath_la_SOURCES): Add math/cimagq.c,
197 math/conjq.c, math/cprojq.c, math/crealq.c, math/fdimq.c,
198 math/fmaxq.c, math/fminq.c, math/ilogbq.c, math/llrintq.c,
199 math/log2q.c, math/lrintq.c, math/nearbyintq.c and math/remquoq.c.
200 * Makefile.in: Regenerated.
201 * quadmath_weak.h (cimagq, conjq, cprojq, crealq, fdimq, fmaxq,
202 fminq, ilogbq, llrintq, log2q, lrintq, nearbyintq, remquoq): Add.
203 * quadmath-imp.h (__LITTLE_ENDIAN__): Don't define.
204 (ieee854_float128): Use __BYTE_ORDER == __ORDER_BIG_ENDIAN__
205 tests instead of __BIG_ENDIAN__.
206 * quadmath.map (QUADMATH_1.0): Add cimagq, conjq, cprojq, crealq,
207 fdimq, fmaxq, fminq, ilogbq, llrintq, log2q, lrintq, nearbyintq
208 and remquoq.
209 * libquadmath.texi (cimagq, conjq, cprojq, crealq, fdimq, fmaxq,
210 fminq, ilogbq, llrintq, log2q, lrintq, nearbyintq, remquoq): Add.
211 * math/cprojq.c: New file.
212 * math/ilogbq.c: New file.
213 * math/fminq.c: New file.
214 * math/llrintq.c: New file.
215 * math/log2q.c: New file.
216 * math/lrintq.c: New file.
217 * math/crealq.c: New file.
218 * math/nearbyintq.c: New file.
219 * math/fmaxq.c: New file.
220 * math/conjq.c: New file.
221 * math/remquoq.c: New file.
222 * math/cimagq.c: New file.
223 * math/fdimq.c: New file.
224
225 * math/ldexpq.c: Include errno.h. Set errno to ERANGE if needed.
226
227 PR fortran/46416
228 * quadmath.h (cacosq, cacoshq, casinq, casinhq, catanq, catanhq):
229 New prototypes.
230 (M_Eq, M_LOG2Eq, M_LOG10Eq, M_LN2q, M_LN10q, M_PIq, M_PI_2q, M_PI_4q,
231 M_1_PIq, M_2_PIq, M_2_SQRTPIq, M_SQRT2q, M_SQRT1_2q): Define.
232 * quadmath_weak.h (cacosq, cacoshq, casinq, casinhq, catanq,
233 catanhq): Add.
234 * quadmath-imp.h (fpclassifyq, QUADFP_NAN, QUADFP_INFINITE,
235 QUADFP_ZERO, QUADFP_SUBNORMAL, QUADFP_NORMAL): Define.
236 * quadmath.map (QUADMATH_1.0): Add cacosq, cacoshq, casinq, casinhq,
237 catanq and catanhq.
238 * Makefile.am (libquadmath_la_SOURCES): Add math/cacosq.c,
239 math/cacoshq.c, math/casinq.c, math/casinhq.c, math/catanq.c
240 and math/catanhq.c.
241 * Makefile.in: Regenerated.
242 * libquadmath.texi (cacosq, cacoshq, casinq, casinhq,
243 catanq, catanhq): Add.
244 * math/cacoshq.c: New file.
245 * math/cacosq.c: New file.
246 * math/catanq.c: New file.
247 * math/catanhq.c: New file.
248 * math/casinq.c: New file.
249 * math/casinhq.c: New file.
250
251 * math/hypotq.c (hypotq): Use Q suffix instead of L.
252 * math/atan2q.c (tiny, pi_o_4, pi_o_2, pi, pi_lo, atan2q): Likewise.
253 * math/cosq.c (cosq): Likewise.
254
255 PR fortran/46402
256 * quadmath.map (QUADMATH_1.0): Add fmaq.
257 * configure.ac: Check for fenv.h, feholdexcept, fesetround,
258 feupdateenv, fesetenv and fetestexcept.
259 * configure: Regenerated.
260 * config.h.in: Regenerated.
261 * quadmath.h (fmaq): New prototype.
262 * quadmath_weak.h (fmaq): Add.
263 * Makefile.am (libquadmath_la_SOURCES): Add math/fmaq.c.
264 * Makefile.in: Regenerated.
265 * quadmath-imp.h: Include config.h.
266 * math/expq.c: Include fenv.h.
267 (USE_FENV_H): Define if libm support for fe* is there.
268 (expq): Add fesetround etc. support if USE_FENV_H is defined.
269 * math/fmaq.c: New file.
270 * libquadmath.texi (fmaq): Add.
271
272 2011-01-14 Tobias Burnus <burnus@net-b.de>
273
274 PR fortran/47182
275 * configure.ac: Use ACX_BUGURL.
276 * libquadmath.texi: Include libquadmath-vers.texi for BUGURL.
277 * Makefile.am: Create libquadmath-vers.texi.
278 * configure.in: Regenerate.
279 * Makefile.in: Regenerate.
280
281 2011-01-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
282
283 PR fortran/47174
284 * Makefile.am (libquadmath.info): Unconditionally override
285 target, not only if BUILD_LIBQUADMATH.
286 * Makefile.in: Regenerate.
287 * configure.ac (AM_INIT_AUTOMAKE): Add -Wno-override option to
288 avoid warning from automake.
289
290 2010-12-19 Tobias Burnus <burnus@net-b.de>
291
292 PR fortran/46520
293 * configure.ac: Do not call AC_CHECK_LIB for gcc_no_link.
294 * configure: Regenerate
295
296 2010-12-13 Tobias Burnus <burnus@net-b.de>
297
298 PR fortran/46625
299 * gdtoa/gdtoaimp.h: Mangle internal functions by
300 prefixing them with __quadmath. Don't use gdtoa's strcp(y).
301 * gdtoa/g_Qfmt.c (g_Qfmt): Use strcpy instead of strcp.
302 * gdtoa/misc.c (strcpy): Renamed from strcp and only use
303 if NO_STRING_H is set.
304 * quadmath-imp.h (__quadmath_rem_pio2q, __quadmath_kernel_sincosq
305 __quadmath_kernel_sinq, __quadmath_kernel_cosq): Added
306 __quadmath prefix to internal functions.
307 * math/cosq.c (cosq): Ditto.
308 * math/sinq.c (cosq): Ditto.
309 * math/tanq.c (tanq,__quadmath_kernel_tanq): Ditto.
310 * math/rem_pio2q.c (rem_pio2, __quadmath_kernel_rem_pio2): Ditto.
311 * math/sinq_kernel.c (__quadmath_kernel_sinq): Ditto.
312 * math/cosq_kernel.c (__quadmath_kernel_cosq): Ditto.
313
314 2010-12-08 Tobias Burnus <burnus@net-b.de>
315
316 PR fortran/46772
317 * gdtoa/gdtoa.h: Include stdlib.h instead of declare strtod.
318 * gdtoa/gdtoaimp.h: Don't declare strtod.
319
320 2010-12-08 Tobias Burnus <burnus@net-b.de>
321
322 PR fortran/46520
323 * configure.ac: Use GCC_TRY_COMPILE_OR_LINK instead of
324 AC_TRY_LINK and cache libquad_have_float128.
325 * configure: Regenerate.
326
327 2010-12-08 Tobias Burnus <burnus@net-b.de>
328
329 PR fortran/46543
330 * configure.ac: Add texinfo checks.
331 * Makefile.am: Handle .texi documentation.
332 * libquadmath.texi: New.
333 * configure: Regenerated.
334 * Makefile.in: Regenerated.
335
336 2010-12-06 Tobias Burnus <burnus@net-b.de>
337
338 PR fortran/46817
339 * quadmath-imp.h: Add LGPL header.
340 * quadmath.h: Add LGPL header.
341 * quadmath_io.c: Add LGPL header.
342 * quadmath_weak.h: Add LGPL header.
343
344 2010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
345
346 PR target/40125
347 PR lto/46695
348 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
349 * Makefile.am (libquadmath_la_LDFLAGS): Use lt_host_flags.
350 * aclocal.m4: Regenerate.
351 * configure: Regenerate.
352 * Makefile.in: Regenerate.
353
354 2010-11-30 Tobias Burnus <burnus@net-b.de>
355
356 PR fortran/46594
357 * Makefile.am: Install include files in
358 target/version specific directory.
359 * Makefile.in: Regenerate.
360
361 2010-11-30 Tobias Burnus <burnus@net-b.de>
362
363 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS,
364 LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY,
365 LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT): Remove.
366
367 2010-11-29 Kai Tietz <kai.tietz@onevision.com>
368
369 * configure: Regenerated.
370 * Makefile.in: Regenerated.
371 * configure.ac (ACX_NONCANONICAL_TARGET): Call it.
372 (target_alias): Use AC_SUBST for it.
373 (GCC_NO_EXECUTABLES): Call it.
374 (AC_PROG_CC): Improve multilib handling.
375 Check that gcc is used for compilation.
376 Use pattern from libssp for symbol versioning checking.
377 * Makefile.am (LTLDFLAGS): Removed.
378 (libquadmath_la_LDFLAGS): Add -no-undefined.
379 (libquadmath_la_LINK): Commented out.
380 (libquadmath_la_DEPENDENCIES): Add libquadmath_la_LIBADD.
381 (AM_MAKEFLAGS): Add hack for argument passing by top-level.
382 (MAKEOVERRIDES): New.
383 * aclocal.m4: Regenerated.
384
385 2010-11-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
386
387 * Makefile.am (libquadmath_la_LIBADD): Move -lm ...
388 (libquadmath_la_LDFLAGS): ... here.
389 (quadmath.map-sun): Tabify.
390 Fix sed expression.
391 * Makefile.in: Regenerate.
392
393 2010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
394 Tobias Burnus <burnus@net-b.de>
395
396 PR fortran/32049
397 Initial implementation and checkin.