PR rtl-optimization/88018
[official-gcc.git] / libquadmath / ChangeLog
blob51c9ad2be9c645f95f962c5c36231de12507e8d5
1 2018-11-07  Joseph Myers  <joseph@codesourcery.com>
3         * quadmath-imp.h (ieee854_float128): Use mantissa0, mantissa1,
4         mantissa2 and mantissa3 fields instead of mant_high and mant_low.
5         Change nan field to ieee_nan.
6         * update-quadmath.py (update_sources): Also update fmaq.c.
7         * math/nanq.c (nanq): Use ieee_nan field of union.
8         Zero-initialize f.  Set quiet_nan field.
9         * printf/flt1282mpn.c, printf/printf_fphex.c, strtod/mpn2flt128.c,
10         strtod/strtoflt128.c: Use mantissa0, mantissa1, mantissa2 and
11         mantissa3 fields.  Use ieee_nan and quiet_nan field.
12         * math/fmaq.c: Regenerate from glibc sources with
13         update-quadmath.py.
15 2018-11-05  Joseph Myers  <joseph@codesourcery.com>
17         PR libquadmath/68686
18         * Makefile.am: (libquadmath_la_SOURCES): Remove math/isinf_nsq.c.
19         Add math/exp2q.c math/issignalingq.c math/lgammaq_neg.c
20         math/lgammaq_product.c math/tanq_kernel.c math/tgammaq_product.c
21         math/casinhq_kernel.c.
22         * Makefile.in: Regenerate.
23         * libquadmath.texi (exp2q, issignalingq): Document.
24         * quadmath-imp.h: Include <errno.h>, <limits.h>, <stdbool.h> and
25         <fenv.h>.
26         (HIGH_ORDER_BIT_IS_SET_FOR_SNAN, FIX_FLT128_LONG_CONVERT_OVERFLOW)
27         (FIX_FLT128_LLONG_CONVERT_OVERFLOW, __quadmath_kernel_tanq)
28         (__quadmath_gamma_productq, __quadmath_gammaq_r)
29         (__quadmath_lgamma_negq, __quadmath_lgamma_productq)
30         (__quadmath_lgammaq_r, __quadmath_kernel_casinhq, mul_splitq)
31         (math_check_force_underflow_complex, __glibc_likely)
32         (__glibc_unlikely, struct rm_ctx, SET_RESTORE_ROUNDF128)
33         (libc_feholdsetround_ctx, libc_feresetround_ctx): New.
34         (feraiseexcept, fenv_t, feholdexcept, fesetround, feupdateenv)
35         (fesetenv, fetestexcept, feclearexcept): Define if not supported
36         through <fenv.h>.
37         (__quadmath_isinf_nsq): Remove.
38         * quadmath.h (exp2q, issignalingq): New.
39         * quadmath.map (QUADMATH_1.2): New.
40         * quadmath_weak.h (exp2q, issignalingq): New.
41         * update-quadmath.py: New file.
42         * math/isinf_nsq.c: Remove file.
43         * math/casinhq_kernel.c, math/exp2q.c, math/expq_table.h,
44         math/issignalingq.c, math/lgammaq_neg.c, math/lgammaq_product.c,
45         math/tanq_kernel.c, math/tgammaq_product.c: New files.  Generated
46         from glibc sources with update-quadmath.py.
47         * math/acoshq.c, math/acosq.c, math/asinhq.c, math/asinq.c,
48         math/atan2q.c, math/atanhq.c, math/atanq.c, math/cacoshq.c,
49         math/cacosq.c, math/casinhq.c, math/casinq.c, math/catanhq.c,
50         math/catanq.c, math/cbrtq.c, math/ccoshq.c, math/ceilq.c,
51         math/cexpq.c, math/cimagq.c, math/clog10q.c, math/clogq.c,
52         math/conjq.c, math/copysignq.c, math/coshq.c, math/cosq.c,
53         math/cosq_kernel.c, math/cprojq.c, math/crealq.c, math/csinhq.c,
54         math/csinq.c, math/csqrtq.c, math/ctanhq.c, math/ctanq.c,
55         math/erfq.c, math/expm1q.c, math/expq.c, math/fabsq.c,
56         math/fdimq.c, math/finiteq.c, math/floorq.c, math/fmaxq.c,
57         math/fminq.c, math/fmodq.c, math/frexpq.c, math/hypotq.c,
58         math/ilogbq.c, math/isinfq.c, math/isnanq.c, math/j0q.c,
59         math/j1q.c, math/jnq.c, math/ldexpq.c, math/lgammaq.c,
60         math/llrintq.c, math/llroundq.c, math/log10q.c, math/log1pq.c,
61         math/log2q.c, math/logbq.c, math/logq.c, math/lrintq.c,
62         math/lroundq.c, math/modfq.c, math/nearbyintq.c,
63         math/nextafterq.c, math/powq.c, math/remainderq.c, math/remquoq.c,
64         math/rintq.c, math/roundq.c, math/scalblnq.c, math/scalbnq.c,
65         math/signbitq.c, math/sincos_table.c, math/sincosq.c,
66         math/sincosq_kernel.c, math/sinhq.c, math/sinq.c,
67         math/sinq_kernel.c, math/tanhq.c, math/tanq.c, math/tgammaq.c,
68         math/truncq.c, math/x2y2m1q.c: Regenerate from glibc sources with
69         update-quadmath.py.
71 2018-10-31  Joseph Myers  <joseph@codesourcery.com>
73         PR bootstrap/82856
74         * Makefile.am: Include multilib.am.
75         (AUTOMAKE_OPTIONS): Remove 1.8.  Add info-in-builddir.
76         (all-local): Define outside conditional code.
77         (CLEANFILES): Remove libquadmath.info.
78         * configure.ac: Remove AC_PREREQ.
79         * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
81 2018-04-24  H.J. Lu  <hongjiu.lu@intel.com>
83         * configure: Regenerated.
85 2018-04-19  Jakub Jelinek  <jakub@redhat.com>
87         * configure: Regenerated.
89 2018-04-18  David Malcolm  <dmalcolm@redhat.com>
91         PR jit/85384
92         * configure: Regenerate.
94 2018-02-14  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
96         PR target/84148
97         * configure: Regenerate.
99 2018-01-03  Jakub Jelinek  <jakub@redhat.com>
101         * libquadmath.texi: Bump @copying's copyright year.
103 2017-11-17  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
105         * Makefile.am: Update AM_CFLAGS.
106         * Makefile.in: Regenerate:
107         * acinclude.m4: Add enable.m4 and cet.m4.
108         * configure: Regenerate.
109         * configure.ac: Set CET_FLAGS. Update XCFLAGS.
111 2017-11-05  Tom de Vries  <tom@codesourcery.com>
113         PR other/82784
114         * printf/gmp-impl.h (MPN_MUL_N_RECURSE): Remove semicolon after
115         "do {} while (0)".
117 2017-09-01  Michael Meissner  <meissner@linux.vnet.ibm.com>
119         PR libquadmath/81848
120         * configure.ac (powerpc*-linux*): Use attribute mode KC to create
121         complex __float128 on PowerPC instead of attribute mode TC.
122         * quadmath.h (__complex128): Likewise.
123         * configure: Regenerate.
124         * math/cbrtq.c (CBRT2): Use __float128 not long double.
125         (CBRT4): Likewise.
126         (CBRT2I): Likewise.
127         (CBRT4I): Likewise.
128         * math/j0q.c (U0): Likewise.
129         * math/sqrtq.c (sqrtq): Don't depend on implicit conversion
130         between __float128, instead explicitly convert the __float128
131         value to long double because the PowerPC does not allow __float128
132         and long double in the same expression.
134 2017-07-19  Gerald Pfeifer  <gerald@pfeifer.com>
136         * math/powq.c (powq): Use uint32_t instead of u_int32_t.
138 2017-07-19  Jakub Jelinek  <jakub@redhat.com>
140         PR libquadmath/65757
141         * quadmath-imp.h (math_opt_barrier, math_force_eval,
142         math_narrow_eval, math_check_force_underflow,
143         math_check_force_underflow_nonneg): Define.
144         * math/ceilq.c: Backport changes from upstream glibc
145         between 2012-11-01 and 2017-07-13.
146         * math/remquoq.c: Likewise.
147         * math/expq.c: Likewise.
148         * math/llroundq.c: Likewise.
149         * math/logq.c: Likewise.
150         * math/atanq.c: Likewise.
151         * math/nearbyintq.c: Likewise.
152         * math/scalblnq.c: Likewise.
153         * math/finiteq.c: Likewise.
154         * math/atanhq.c: Likewise.
155         * math/expm1q.c: Likewise.
156         * math/sinhq.c: Likewise.
157         * math/log10q.c: Likewise.
158         * math/rintq.c: Likewise.
159         * math/roundq.c: Likewise.
160         * math/fmaq.c: Likewise.
161         * math/erfq.c: Likewise.
162         * math/log2q.c: Likewise.
163         * math/lroundq.c: Likewise.
164         * math/j1q.c: Likewise.
165         * math/scalbnq.c: Likewise.
166         * math/truncq.c: Likewise.
167         * math/frexpq.c: Likewise.
168         * math/sincosq.c: Likewise.
169         * math/tanhq.c: Likewise.
170         * math/asinq.c: Likewise.
171         * math/coshq.c: Likewise.
172         * math/j0q.c: Likewise.
173         * math/asinhq.c: Likewise.
174         * math/floorq.c: Likewise.
175         * math/sinq_kernel.c: Likewise.
176         * math/powq.c: Likewise.
177         * math/hypotq.c: Likewise.
178         * math/sincos_table.c: Likewise.
179         * math/rem_pio2q.c: Likewise.
180         * math/nextafterq.c: Likewise.
181         * math/log1pq.c: Likewise.
182         * math/sincosq_kernel.c: Likewise.
183         * math/tanq.c: Likewise.
184         * math/acosq.c: Likewise.
185         * math/lrintq.c: Likewise.
186         * math/llrintq.c: Likewise.
188 2017-02-09  Gerald Pfeifer  <gerald@pfeifer.com>
190         * configure.ac (ACX_BUGURL): Update.
191         * configure: Regenerate.
193 2017-01-17  Jakub Jelinek  <jakub@redhat.com>
195         PR other/79046
196         * configure.ac: Add GCC_BASE_VER.
197         * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
198         get version from BASE-VER file.
199         * configure: Regenerated.
200         * Makefile.in: Regenerated.
202 2017-01-01  Jakub Jelinek  <jakub@redhat.com>
204         * libquadmath.texi: Bump @copying's copyright year.
206 2016-11-15  Matthias Klose  <doko@ubuntu.com>
208         * configure: Regenerate.
210 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
212         * libquadmath.texi: Bump @copying's copyright year.
214 2015-08-09  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
216         * Makefile.am (libquadmath_la_SOURCES): Add matha/logbq.c.
217         * Makefile.in: Regenerate.
218         * libquadmath.texi: Document logbq.
219         * quadmath.h: Add logbq prototype.
220         * quadmath.map: Add logbq.
221         * quadmath_weak.h: Add logbq prototype.
222         * math/logbq.c: New file
224 2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>
226         * Makefile.in: Regenerated with automake-1.11.6.
227         * aclocal.m4: Likewise.
228         * configure: Likewise.
230 2015-01-26  Matthias Klose  <doko@ubuntu.com>
232         * configure.ac: Move AM_ENABLE_MULTILIB before AC_PROG_CC.
233         * configure: Regenerate.
235 2015-01-05  Jakub Jelinek  <jakub@redhat.com>
237         * libquadmath.texi: Bump @copying's copyright year.
239 2014-11-21  H.J. Lu  <hongjiu.lu@intel.com>
241         PR bootstrap/63784
242         * configure: Regenerated.
244 2014-11-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
246         PR target/63610
247         * configure: Regenerate.
249 2014-10-21  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
251         PR libquadmath/55821
252         * Makefile.am: Unconditionally define libquadmath_TEXINFOS.
253         * Makefile.in: Regenerate.
255 2014-10-09  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
257         PR libquadmath/55821
258         * Makefile.am: Conditionally define info_TEXINFOS and
259         libquadmath_TEXINFOS.
260         * Makefile.in: Regenerate.
262 2014-10-08  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
264         PR libquadmath/63487
265         * libquadmath.texi (sincosq): Fix typo.
267 2014-01-02  Tobias Burnus  <burnus@net-b.de>
269         * libquadmath.texi: Bump @copying's copyright year.
271 2013-12-04  Richard Sandiford  <rdsandiford@googlemail.com>
273         * Makefile.am (AM_CPPFLAGS): Define.
274         * Makefile.in: Regenerate.
275         * printf/gmp-impl.h: Remove path from longlong.h include.
277 2013-09-20  Alan Modra  <amodra@gmail.com>
279         * configure: Regenerate.
281 2013-03-06  Shakthi Kannan  <shakthimaan@gmail.com>
283         PR libquadmath/55473
284         * quadmath.h: Add 'extern "C"' block for C++ use.
286 2013-02-19  Jakub Jelinek  <jakub@redhat.com>
288         PR libquadmath/56379
289         * strtod/strtod_l.c (mpn_lshift_1): Rewritten as function-like
290         macro.
292 2013-02-17  Tobias Burnus  <burnus@net-b.de>
294         * math/cacoshq.c (cacoshq): Call signbitq instead of signbit.
296 2013-02-06  Richard Sandiford  <rdsandiford@googlemail.com>
298         Revert previous patch.
300 2013-02-03  Richard Sandiford  <rdsandiford@googlemail.com>
302         Update copyright years.
304 2013-01-22  Jakub Jelinek  <jakub@redhat.com>
306         PR libquadmath/56072
307         * libquadmath.texi (M_PI_2q, M_PI_4q): Fix up description.
309 2012-12-13  Jakub Jelinek  <jakub@redhat.com>
311         * math/cbrtq.c (cbrtq): Use Q suffixed floating point constants
312         instead of L suffixed ones.
313         * math/fmaq.c (fmaq): Likewise.
314         * math/rintq.c (TWO112): Likewise.
316 2012-12-03  Tobias Burnus  <burnus@net-b.de>
318         * strtod/strtod_l.c (___STRTOF_INTERNAL): Fix exponent
319         reading.
321 2012-11-25  Tobias Burnus  <burnus@net-b.de>
323         PR libquadmath/55462
324         * strtod/strtod_l.c (round_and_return): Use HAVE_FENV_H
325         instead of nonexisting HAVE_GET_ROUNDING_MODE.
327 2012-11-23  H.J. Lu  <hongjiu.lu@intel.com>
329         PR bootstrap/55455
330         * quadmath-rounding-mode.h (get_rounding_mode): Don't pass
331         void to fegetround.
333 2012-11-23  Tobias Burnus  <burnus@net-b.de>
334             Joseph Myers  <joseph@codesourcery.com>
336         * quadmath-rounding-mode.h: New.
337         * printf/fpioconst.c: Update from GLIBC. Fix strtod rounding.
338         * printf/fpioconst.h: Ditto.
339         * printf/printf_fp.c (__quadmath_printf_fp): Update from GLIBC.
340         Make printf respect the rounding mode for decimal output.
341         * printf/printf_fphex.c (__quadmath_printf_fphex): Update from
342         GLIBC.  Make printf respect the rounding mode for hex output.
343         * strtod/strtod_l.c: Update from GLIBC. Make strtod respect the
344         rounding mode. Fix strtod handling of underflow.
346 2012-11-22  David S. Miller  <davem@davemloft.net>
347             Tobias Burnus  <burnus@net-b.de>
348             Joseph Myers  <joseph@codesourcery.com>
350         * math/atanq.c (atanq): Update from GLIBC. Handle tiny and
351         very large arguments properly.
352         * math/j0q.c (y0q): Update from GLIBC. Avoid arithmetic
353         underflow when 'x' is very small.
354         * math/j1q.c (y1q): Ditto.
355         * math/log1pq.c (log1pq): Update from GLIBC. Saturate
356         nonzero exponents with absolute value below 0x1p-128 to
357         +/- 0x1p-128.
358         * math/powq.c (powq): Update from GLIBC. If xm1 is
359         smaller than LDBL_EPSILON/2.0L, just return xm1.
361 2012-11-21  Tobias Burnus  <burnus@net-b.de>
363         PR libquadmath/55225
364         * math/lgammaq.c (lgammaq): Use local variable if
365         math.h does not provide signgam.
366         * acinclude.m4 (LIBQUAD_CHECK_MATH_H_SIGNGAM): New check.
367         * configure.ac: Use it.
368         * configure: Regenerate.
369         * config.h.in: Regenerate.
371 2012-11-15  Tobias Burnus  <burnus@net-b.de>
372             Joseph Myers  <joseph@codesourcery.com>
374         * math/fmaq.c (fmaq): Merge from GLIBC. Fix fma
375         underflows with small x * y; Fix overflow results
376         outside round-to-nearest mode; make use of Dekker
377         and Knuth algorithms use round-to-nearest.
379 2012-11-01  Tobias Burnus  <burnus@net-b.de>
381         * math/fmaq.c (fmaq): Fix build.
383 2012-11-01  Tobias Burnus  <burnus@net-b.de>
384             Joseph Myers  <joseph@codesourcery.com>
386         * math/fmaq.c (fmaq): Merge from GLIBC. Handle cases
387         with small x * y using scaling, not as x * y + z.
388         * math/lgammaq.c (lgammaq): Fix signgam handling.
390 2012-11-01  Tobias Burnus  <burnus@net-b.de>
392         * Makefile.am (libquadmath_la_SOURCES): Add new math/* files.
393         * Makefile.in: Regenerated.
394         * math/acoshq.c: Update comment.
395         * math/acosq.c: Ditto.
396         * math/asinhq.c: Ditto.
397         * math/asinq.c: Ditto.
398         * math/atan2q.c: Ditto.
399         * math/atanhq.c: Ditto.
400         * math/ceilq.c: Ditto.
401         * math/copysignq.c: Ditto.
402         * math/cosq.c: Ditto.
403         * math/coshq.c: Ditto.
404         * math/erfq.c: Ditto.
405         * math/fabsq.c: Ditto.
406         * math/finiteq.c: Ditto.
407         * math/floorq.c: Ditto.
408         * math/fmodq.c: Ditto.
409         * math/frexpq.c: Ditto.
410         * math/isnanq.c: Ditto.
411         * math/j0q.c: Ditto.
412         * math/j1q.c: Ditto.
413         * math/ldexpq.c: Ditto.
414         * math/llroundq.c: Ditto.
415         * math/log10q.c: Ditto.
416         * math/log1pq.c: Ditto.
417         * math/log2q.c: Ditto.
418         * math/logq.c: Ditto.
419         * math/lroundq.c: Ditto.
420         * math/modfq.c: Ditto.
421         * math/nextafterq.c: Ditto.
422         * math/powq.c: Ditto.
423         * math/rem_pio2q.c: Ditto.
424         * math/remainderq.c: Ditto.
425         * math/rintq.c: Ditto.
426         * math/roundq.c: Ditto.
427         * math/scalblnq.c: Ditto.
428         * math/scalbnq.c: Ditto.
429         * math/sincosq_kernel.c: Ditto.
430         * math/sinq.c: Ditto.
431         * math/tanq.c: Ditto.
432         * math/expq.c: Ditto.
433         (__expq_table, expq): Renamed local array from __expl_table.
434         * math/cosq_kernel.c (__quadmath_kernel_cosq): Fix sign handling.
435         * math/cacoshq.c: Changes from GLIBC; fix returned sign.
436         * math/casinhq.c: Changes from GLIBC to fix special-case.
437         * math/cbrtq.c: Use modified GLIBC version.
438         * math/complex.c (ccoshd, cexpq, clog10q, clogq, csinhq, csinq,
439         ctanhq, ctanq): Moved to separates files.
440         (mult_c128, div_c128): Removed no longer needed functions.
441         (cexpiq): Call sincosq instead of sinq and cosq.
442         (cosq): Call cosh(-re,im) instead of cosq/sinq/sinh/cosh.
443         * math/ccoshq.c (ccoshq): New file, moved from complex.c and
444         modified based on GLIBC.
445         * math/cexpq.c (cexp): Ditto.
446         * math/clog10q.c (clog10q): Ditto.
447         * math/clogq.c (clogq): Ditto.
448         * math/csinhq.c: Ditto.
449         * math/csinq.c: Ditto.
450         * math/csqrtq.c: Ditto.
451         * math/ctanhq.c: Ditto.
452         * math/ctanq.c: Ditto.
453         * math/fmaq.c (fmaq): Port TININESS_AFTER_ROUNDING handling
454         from GLIBC.
455         * math/ilogbq.c (ilogbq): Add errno = EDOM handling.
456         * math/isinf_nsq.c (__quadmath_isinf_nsq): New file, ported
457         from GLIBC.
458         * math/lgammaq.c (lgammaq): Add signgam handling.
459         * math/sinhq.c (sinhq): Fix sign handling.
460         * math/sinq_kernel.c (__quadmath_kernel_sinq): Ditto.
461         * math/tgammaq.c (tgammaq): Ditto.
462         * math/x2y2m1q.c: New file.
463         * quadmath-imp.h (TININESS_AFTER_ROUNDING): New define.
464         (__quadmath_x2y2m1q, __quadmath_isinf_nsq): New prototypes.
466 2012-10-31  Tobias Burnus  <burnus@net-b.de>
467             Joseph Myers <joseph@codesourcery.com>
468             David S. Miller <davem@davemloft.net>
469             Ulrich Drepper <drepper@redhat.com>
470             Marek Polacek <polacek@redhat.com>:
471             Petr Baudis <pasky@suse.cz>
473         * math/complex.c (csqrtq): NaN and INF fixes. 
474         * math/sqrtq.c (sqrt): NaN, INF and < 0 fixes.
475         * math/expm1q.c (expm1q): Changes from GLIBC. Use expq for
476         large parameters. Fix errno for boundary conditions.
477         * math/finiteq.c (finiteq): Add comment.
478         * math/fmaq.c (fmaq): Changes from GLIBC. Fix missing underflows
479         and bad results for some subnormal results. Fix sign of inexact
480         zero return. Fix sign of exact zero return. 
481         Ensure additions are not scheduled after fetestexcept.
482         * math/jnq.c (jnq): Changes from GLIBC. Set up errno properly
483         for ynq. Fix jnq precision.
484         * math/nearbyintq.c (nearbyintq): Changes from GLIBC. Do not
485         manipulate bits before adding and subtracting TWO112[sx].
486         * math/rintq.c (rintq): Ditto.
487         * math/scalbnq.c (scalbnq): Changes from GLIBC. Fix integer
488         overflow.
490 2012-09-14  David Edelsohn  <dje.gcc@gmail.com>
492         * configure: Regenerated.
494 2012-05-29  Benjamin Kosnik  <bkoz@redhat.com>
496         PR libstdc++/51007
497         * configure.ac: Allow gnu, gnu* variants for --enable-symvers argument.
498         * configure: Regenerated.
500 2012-05-16  H.J. Lu  <hongjiu.lu@intel.com>
502         * configure: Regenerated.
504 2011-11-21  Andreas Tobler  <andreast@fgznet.ch>
506         * configure: Regenerate.
508 2011-11-07  Kai Tietz  <ktietz@redhat.com>
510         PR target/51007
511         * quadmath-imp.h (ieee854_float128): Adjust
512         for ms-bitfield layout.
514 2011-11-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
516         * printf/gmp-impl.h: Adapt path to longlong.h.
518 2011-09-21  Joseph Myers  <joseph@codesourcery.com>
520         * Makefile.am (FLAGS_TO_PASS): Define.
521         * Makefile.in: Regenerate.
523 2011-08-01  Jakub Jelinek  <jakub@redhat.com>
525         * math/rem_pio2q.c (__quadmath_kernel_rem_pio2): Fix up fq to y
526         conversion for prec 3 and __FLT_EVAL_METHOD__ != 0.
528 2011-04-03  Tobias Burnus  <burnus@net-b.de>
530         PR fortran/48311
531         * libquadmath.texi (strtoflt128): Fix typo.
532         (quadmath_snprintf): Move note up, make @item.
534 2011-03-25  Jakub Jelinek  <jakub@redhat.com>
536         * printf/printf_fp.c (__quadmath_printf_fp): Use memcpy instead of
537         mempcpy.
539 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
541         PR bootstrap/48135
542         * configure.ac (quadmath_use_symver): Handle --disable-symvers.
543         * configure: Regenerate.
545 2011-02-28  Jakub Jelinek  <jakub@redhat.com>
547         * printf/quadmath-printf.c (quadmath_snprintf): Make sure
548         that for size > 0 str is always zero terminated.
550 2011-02-20  Jakub Jelinek  <jakub@redhat.com>
552         PR bootstrap/47827
553         * printf/quadmath-printf.h (NAN): Redefine to __builtin_nanf ("").
555 2011-02-17  Jakub Jelinek  <jakub@redhat.com>
557         * libquadmath.texi (FLT128_DIG, FLT128_MIN_10_EXP,
558         FLT128_MAX_10_EXP): Document.
559         (strtoflt128): Remove obsolete comment.
560         * configure.ac (HAVE_STRTOULL): New check.
561         * printf/gmp-impl.h (mpn_construct_float128): New prototype,
562         define.
563         * printf/mul_n.c: Include <config.h>.
564         * printf/add_n.c: Likewise.
565         * printf/cmp.c: Likewise.
566         * printf/fpioconst.c: Likewise.
567         * printf/mul_1.c: Likewise.
568         * printf/rshift.c: Likewise.
569         * printf/lshift.c: Likewise.
570         * printf/submul_1.c: Likewise.
571         * printf/sub_n.c: Likewise.
572         * printf/divrem.c: Likewise.
573         * printf/addmul_1.c: Likewise.
574         * printf/mul.c: Likewise.
575         * printf/quadmath-printf.h (isupper, isdigit, tolower): Change
576         to avoid evaluating argument multiple times.
577         (isxdigit): Redefine.
578         * strtod/strtoflt128.c: New file.
579         * strtod/strtod_l.c: New file.
580         * strtod/mpn2flt128.c: New file.
581         * strtod/grouping.h: New file.
582         * strtod/tens_in_limb.c: New file.
583         * gdtoa/arith.h: Removed.
584         * gdtoa/gd_qnan.h: Removed.
585         * gdtoa/gdtoa_fltrnds.h: Removed.
586         * gdtoa/gdtoa.h: Removed.
587         * gdtoa/gdtoaimp.h: Removed.
588         * gdtoa/gethex.c: Removed.
589         * gdtoa/gmisc.c: Removed.
590         * gdtoa/hd_init.c: Removed.
591         * gdtoa/hexnan.c: Removed.
592         * gdtoa/makefile: Removed.
593         * gdtoa/misc.c: Removed.
594         * gdtoa/README.gdtoa: Removed.
595         * gdtoa/smisc.c: Removed.
596         * gdtoa/strtodg.c: Removed.
597         * gdtoa/strtopQ.c: Removed.
598         * gdtoa/sum.c: Removed.
599         * quadmath.h (FLT128_DIG, FLT128_MIN_10_EXP, FLT128_MAX_10_EXP):
600         Define.
601         * Makefile.am (libquadmath_la_SOURCES): Remove gdtoa/*, add
602         strtod/strtoflt128.c, strtod/mpn2flt128.c and strtod/tens_in_limb.c.
603         * config.h.in: Regenerated.
604         * configure: Regenerated.
605         * Makefile.in: Regenerated.
607 2011-02-16  Jakub Jelinek  <jakub@redhat.com>
609         * printf/quadmath-printf.c: Also check __GLIBC__ when checking
610         whether workarounds for printf hook handling should be added.
612         * configure.ac: Check for locale.h too.
613         (USE_LOCALE_SUPPORT): Remove check.
614         (USE_NL_LANGINFO, USE_NL_LANGINFO_WC, USE_LOCALECONV): New checks.
615         (USE_I18_NUMBER_H): Check also for _NL_CTYPE_MB_CUR_MAX.
616         * printf/printf_fphex.c (__quadmath_printf_fphex): Use nl_langinfo
617         or localeconv for narrow version and nl_langinfo if USE_NL_LANGINFO_WC
618         for wide version.
619         * printf/quadmath-printf.h: Include locale.h if HAVE_LOCALE_H.
620         * printf/printf_fp.c (USE_I18N_NUMBER_H): Don't define to 0.
621         (__quadmath_printf_fp): Use nl_langinfo or localeconv for narrow
622         version and nl_langinfo if USE_NL_LANGINFO_WC for wide version.
623         Guard nl_langinfo (_NL_CTYPE_MB_CUR_MAX) use with
624         USE_I18N_NUMBER_H #ifdef.
625         * configure: Regenerated.
626         * config.h.in: Regenerated.
628 2011-02-14  Jakub Jelinek  <jakub@redhat.com>
630         PR bootstrap/47736
631         * configure.ac (HAVE_PRINTF_HOOKS): Test if printf_info struct has
632         user field.
633         * printf/quadmath-printf.c (quadmath_snprintf): Clear whole info
634         field instead of setting individual fields to 0.  Don't set info.user
635         to -1.
636         * configure: Regenerated.
638         * configure.ac (HAVE_HIDDEN_VISIBILITY): Test with -Werror in CFLAGS.
639         * printf/printf_fp.c: Don't include <alloca.h>.
640         * printf/quadmath-printf.h (_itoa): Redefine to __quadmath_itoa.
641         * configure: Regenerated.
643         PR fortran/47642
644         * libquadmath.texi (quadmath_snprintf): Document.
645         (quadmath_flt128tostr): Remove.
646         * Makefile.am (libquadmath_la_SOURCES): Add printf/*.c.
647         Remove  quadmath_io.c, gdtoa/gdtoa.c, gdtoa/g__fmt.c,
648         gdtoa/g_Qfmt.c, gdtoa/dmisc.c and gdtoa/ulp.c.
649         * quadmath.h (quadmath_snprintf): New prototype.
650         (quadmath_flt128tostr): Remove.
651         * quadmath_weak.h (quadmath_snprintf): Add.
652         (quadmath_flt128tostr): Remove.
653         * configure.ac: New AC_CHECK_HEADERS headers: langinfo.h, wchar.h,
654         wctype.h, limits.h, ctype.h, printf.h, errno.h.
655         (AC_USE_SYSTEM_EXTENSIONS): Add.
656         (HAVE_HIDDEN_VISIBILITY, HAVE_PRINTF_HOOKS,
657         USE_LOCALE_SUPPORT, USE_I18N_NUMBER_H): New checks.
658         * quadmath.map (QUADMATH_1.0): Add quadmath_snprintf.  Remove
659         quadmath_flt128tostr.
660         * printf/printf_fphex.c: New file.
661         * printf/_itowa.h: New file.
662         * printf/mul_n.c: New file.
663         * printf/quadmath-printf.h: New file.
664         * printf/submul_1.c: New file.
665         * printf/quadmath-printf.c: New file.
666         * printf/gmp-impl.h: New file.
667         * printf/lshift.c: New file.
668         * printf/fpioconst.h: New file.
669         * printf/add_n.c: New file.
670         * printf/cmp.c: New file.
671         * printf/sub_n.c: New file.
672         * printf/mul.c: New file.
673         * printf/divrem.c: New file.
674         * printf/addmul_1.c: New file.
675         * printf/printf_fp.c: New file.
676         * printf/_itoa.h: New file.
677         * printf/fpioconst.c: New file.
678         * printf/_i18n_number.h: New file.
679         * printf/flt1282mpn.c: New file.
680         * printf/rshift.c: New file.
681         * printf/mul_1.c: New file.
682         * quadmath_io.c: Removed.
683         * gdtoa/gdtoa.c: Removed.
684         * gdtoa/g__fmt.c: Removed.
685         * gdtoa/g_Qfmt.c: Removed.
686         * gdtoa/dmisc.c: Removed.
687         * gdtoa/ulp.c: Removed.
688         * config.h.in: Regenerated.
689         * configure: Regenerated.
690         * Makefile.in: Regenerated.
692 2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
694         * Makefile.in: Regenerate.
695         * aclocal.m4: Likewise.
696         * configure: Likewise.
698 2011-01-31  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
700         PR libquadmath/47293
701         * gdtoa/qd_qnan.h: Fix NAN bit patterns.
702         * gdtoa/strtopQ.c (strtoflt128): Handle endianess with NAN.
704 2011-01-17  Tobias Burnus  <burnus@net-b.de>
706         PR fortran/47295
707         * libquadmath.text: Document typedef and constants.
709 2011-01-17  Tobias Burnus  <burnus@net-b.de>
711         PR fortran/46817
712         * quadmath-imp.h: Refer to libquadmath not ot libiberty,
713         bump copyright year and use /**/ instead of // comments.
714         * quadmath.h: Ditto.
715         * quadmath-weak.h: Ditto.
716         * quadmath_io.c: Ditto.
718 2011-01-16  Jakub Jelinek  <jakub@redhat.com>
720         PR libfortran/47322
721         * math/remquoq.c (remquoq): Use uint64_t type instead of u_int64_t.
723         PR fortran/46625
724         * quadmath.map (QUADMATH_1.0): Remove quadmath_strtopQ
725         and quadmath_dtoaq.  Add strtoflt128 and quadmath_flt128tostr.
726         * quadmath_weak.h (quadmath_strtopQ, quadmath_dtoaq): Remove.
727         (strtoflt128, quadmath_flt128tostr): Add.
728         * gdtoa/strtopQ.c (quadmath_strtopQ): Rename to...
729         (strtoflt128): ... this.  Return __float128, instead of writing
730         to memory pointed by last argument.
731         * quadmath.h: Use C style comments instead of C++ style.
732         (quadmath_strtopQ, quadmath_dtoaq): Remove prototypes.
733         (strtoflt128, quadmath_flt128tostr): Add prototypes.
734         * libquadmath.texi (quadmath_dtoaq): Rename to quadmath_flt128tostr.
735         (quadmath_strtopQ): Rename to strtoflt128.  Adjust prototype,
736         adjust examples.
737         * quadmath_io.c (quadmath_dtoaq): Rename to...
738         (quadmath_flt128tostr): ... this.
740         * quadmath.h (__quadmath_throw, __quadmath_nth): Define.
741         Use it for all prototypes.
743         PR fortran/46416
744         * quadmath.h (cbrtq, finiteq, isnanq, signbitq, sqrtq): Remove
745         const from prototype argument.
746         (cimagq, conjq, cprojq, crealq, fdimq, fmaxq, fminq, ilogbq,
747         llrintq, log2q, lrintq, nearbyintq, remquoq): New prototypes.
748         (__quadmath_extern_inline): Define.
749         (cimagq, conjq, crealq): New inlines.
750         * Makefile.am (libquadmath_la_SOURCES): Add math/cimagq.c,
751         math/conjq.c, math/cprojq.c, math/crealq.c, math/fdimq.c,
752         math/fmaxq.c, math/fminq.c, math/ilogbq.c, math/llrintq.c,
753         math/log2q.c, math/lrintq.c, math/nearbyintq.c and math/remquoq.c.
754         * Makefile.in: Regenerated.
755         * quadmath_weak.h (cimagq, conjq, cprojq, crealq, fdimq, fmaxq,
756         fminq, ilogbq, llrintq, log2q, lrintq, nearbyintq, remquoq): Add.
757         * quadmath-imp.h (__LITTLE_ENDIAN__): Don't define.
758         (ieee854_float128): Use __BYTE_ORDER == __ORDER_BIG_ENDIAN__
759         tests instead of __BIG_ENDIAN__.
760         * quadmath.map (QUADMATH_1.0): Add cimagq, conjq, cprojq, crealq,
761         fdimq, fmaxq, fminq, ilogbq, llrintq, log2q, lrintq, nearbyintq
762         and remquoq.
763         * libquadmath.texi (cimagq, conjq, cprojq, crealq, fdimq, fmaxq,
764         fminq, ilogbq, llrintq, log2q, lrintq, nearbyintq, remquoq): Add.
765         * math/cprojq.c: New file.
766         * math/ilogbq.c: New file.
767         * math/fminq.c: New file.
768         * math/llrintq.c: New file.
769         * math/log2q.c: New file.
770         * math/lrintq.c: New file.
771         * math/crealq.c: New file.
772         * math/nearbyintq.c: New file.
773         * math/fmaxq.c: New file.
774         * math/conjq.c: New file.
775         * math/remquoq.c: New file.
776         * math/cimagq.c: New file.
777         * math/fdimq.c: New file.
779         * math/ldexpq.c: Include errno.h.  Set errno to ERANGE if needed.
781         PR fortran/46416
782         * quadmath.h (cacosq, cacoshq, casinq, casinhq, catanq, catanhq):
783         New prototypes.
784         (M_Eq, M_LOG2Eq, M_LOG10Eq, M_LN2q, M_LN10q, M_PIq, M_PI_2q, M_PI_4q,
785         M_1_PIq, M_2_PIq, M_2_SQRTPIq, M_SQRT2q, M_SQRT1_2q): Define.
786         * quadmath_weak.h (cacosq, cacoshq, casinq, casinhq, catanq,
787         catanhq): Add.
788         * quadmath-imp.h (fpclassifyq, QUADFP_NAN, QUADFP_INFINITE,
789         QUADFP_ZERO, QUADFP_SUBNORMAL, QUADFP_NORMAL): Define.
790         * quadmath.map (QUADMATH_1.0): Add cacosq, cacoshq, casinq, casinhq,
791         catanq and catanhq.
792         * Makefile.am (libquadmath_la_SOURCES): Add math/cacosq.c,
793         math/cacoshq.c, math/casinq.c, math/casinhq.c, math/catanq.c
794         and math/catanhq.c.
795         * Makefile.in: Regenerated.
796         * libquadmath.texi (cacosq, cacoshq, casinq, casinhq,
797         catanq, catanhq): Add.
798         * math/cacoshq.c: New file.
799         * math/cacosq.c: New file.
800         * math/catanq.c: New file.
801         * math/catanhq.c: New file.
802         * math/casinq.c: New file.
803         * math/casinhq.c: New file.
805         * math/hypotq.c (hypotq): Use Q suffix instead of L.
806         * math/atan2q.c (tiny, pi_o_4, pi_o_2, pi, pi_lo, atan2q): Likewise.
807         * math/cosq.c (cosq): Likewise.
809         PR fortran/46402
810         * quadmath.map (QUADMATH_1.0): Add fmaq.
811         * configure.ac: Check for fenv.h, feholdexcept, fesetround,
812         feupdateenv, fesetenv and fetestexcept.
813         * configure: Regenerated.
814         * config.h.in: Regenerated.
815         * quadmath.h (fmaq): New prototype.
816         * quadmath_weak.h (fmaq): Add.
817         * Makefile.am (libquadmath_la_SOURCES): Add math/fmaq.c.
818         * Makefile.in: Regenerated.
819         * quadmath-imp.h: Include config.h.
820         * math/expq.c: Include fenv.h.
821         (USE_FENV_H): Define if libm support for fe* is there.
822         (expq): Add fesetround etc. support if USE_FENV_H is defined.
823         * math/fmaq.c: New file.
824         * libquadmath.texi (fmaq): Add.
826 2011-01-14  Tobias Burnus  <burnus@net-b.de>
828         PR fortran/47182
829         * configure.ac: Use ACX_BUGURL.
830         * libquadmath.texi: Include libquadmath-vers.texi for BUGURL.
831         * Makefile.am: Create libquadmath-vers.texi.
832         * configure.in: Regenerate.
833         * Makefile.in: Regenerate.
835 2011-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
837         PR fortran/47174
838         * Makefile.am (libquadmath.info): Unconditionally override
839         target, not only if BUILD_LIBQUADMATH.
840         * Makefile.in: Regenerate.
841         * configure.ac (AM_INIT_AUTOMAKE): Add -Wno-override option to
842         avoid warning from automake.
844 2010-12-19  Tobias Burnus  <burnus@net-b.de>
846         PR fortran/46520
847         * configure.ac: Do not call AC_CHECK_LIB for gcc_no_link.
848         * configure: Regenerate
850 2010-12-13  Tobias Burnus  <burnus@net-b.de>
852         PR fortran/46625
853         * gdtoa/gdtoaimp.h: Mangle internal functions by
854         prefixing them with __quadmath. Don't use gdtoa's strcp(y).
855         * gdtoa/g_Qfmt.c (g_Qfmt): Use strcpy instead of strcp.
856         * gdtoa/misc.c (strcpy): Renamed from strcp and only use
857         if NO_STRING_H is set.
858         * quadmath-imp.h (__quadmath_rem_pio2q, __quadmath_kernel_sincosq
859         __quadmath_kernel_sinq, __quadmath_kernel_cosq): Added
860         __quadmath prefix to internal functions.
861         * math/cosq.c (cosq): Ditto.
862         * math/sinq.c (cosq): Ditto.
863         * math/tanq.c (tanq,__quadmath_kernel_tanq): Ditto.
864         * math/rem_pio2q.c (rem_pio2, __quadmath_kernel_rem_pio2): Ditto.
865         * math/sinq_kernel.c (__quadmath_kernel_sinq): Ditto.
866         * math/cosq_kernel.c (__quadmath_kernel_cosq): Ditto.
868 2010-12-08  Tobias Burnus  <burnus@net-b.de>
870         PR fortran/46772
871         * gdtoa/gdtoa.h: Include stdlib.h instead of declare strtod.
872         * gdtoa/gdtoaimp.h: Don't declare strtod.
874 2010-12-08  Tobias Burnus  <burnus@net-b.de>
876         PR fortran/46520
877         * configure.ac: Use GCC_TRY_COMPILE_OR_LINK instead of
878         AC_TRY_LINK and cache libquad_have_float128.
879         * configure: Regenerate.
881 2010-12-08  Tobias Burnus  <burnus@net-b.de>
883         PR fortran/46543
884         * configure.ac: Add texinfo checks.
885         * Makefile.am: Handle .texi documentation.
886         * libquadmath.texi: New.
887         * configure: Regenerated.
888         * Makefile.in: Regenerated.
890 2010-12-06  Tobias Burnus  <burnus@net-b.de>
892         PR fortran/46817
893         * quadmath-imp.h: Add LGPL header.
894         * quadmath.h: Add LGPL header.
895         * quadmath_io.c: Add LGPL header.
896         * quadmath_weak.h: Add LGPL header.
898 2010-12-06  Dave Korn  <dave.korn.cygwin@gmail.com>
900         PR target/40125
901         PR lto/46695
902         * configure.ac: Invoke ACX_LT_HOST_FLAGS.
903         * Makefile.am (libquadmath_la_LDFLAGS): Use lt_host_flags.
904         * aclocal.m4: Regenerate.
905         * configure: Regenerate.
906         * Makefile.in: Regenerate.
908 2010-11-30  Tobias Burnus  <burnus@net-b.de>
910         PR fortran/46594
911         * Makefile.am: Install include files in
912         target/version specific directory.
913         * Makefile.in: Regenerate.
915 2010-11-30  Tobias Burnus  <burnus@net-b.de>
917         * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS,
918         LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY,
919         LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT): Remove.
921 2010-11-29  Kai Tietz  <kai.tietz@onevision.com>
923         * configure: Regenerated.
924         * Makefile.in: Regenerated.
925         * configure.ac (ACX_NONCANONICAL_TARGET): Call it.
926         (target_alias): Use AC_SUBST for it.
927         (GCC_NO_EXECUTABLES): Call it.
928         (AC_PROG_CC): Improve multilib handling.
929         Check that gcc is used for compilation.
930         Use pattern from libssp for symbol versioning checking.
931         * Makefile.am (LTLDFLAGS): Removed.
932         (libquadmath_la_LDFLAGS): Add -no-undefined.
933         (libquadmath_la_LINK): Commented out.
934         (libquadmath_la_DEPENDENCIES): Add libquadmath_la_LIBADD.
935         (AM_MAKEFLAGS): Add hack for argument passing by top-level.
936         (MAKEOVERRIDES): New.
937         * aclocal.m4: Regenerated.
939 2010-11-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
941         * Makefile.am (libquadmath_la_LIBADD): Move -lm ...
942         (libquadmath_la_LDFLAGS): ... here.
943         (quadmath.map-sun): Tabify.
944         Fix sed expression.
945         * Makefile.in: Regenerate.
947 2010-11-16  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
948             Tobias Burnus  <burnus@net-b.de>
950         PR fortran/32049
951         Initial implementation and checkin.
953 Copyright (C) 2010-2018 Free Software Foundation, Inc.
955 Copying and distribution of this file, with or without modification,
956 are permitted in any medium without royalty provided the copyright
957 notice and this notice are preserved.