[Ada] Implement tiered support for floating-point input operations
[official-gcc.git] / libquadmath / ChangeLog
blobe9ba2bcd92417e5f0ec17677d4e905ba12e4746b
1 2020-12-05  Iain Sandoe  <iain@sandoe.co.uk>
3         PR target/97865
4         * configure: Regenerate.
6 2020-11-29  John David Anglin  <danglin@gcc.gnu.org>
8         * configure: Regenerate.
10 2020-05-29  H.J. Lu  <hjl.tools@gmail.com>
12         PR bootstrap/95413
13         * configure: Regenerated.
15 2020-05-15  H.J. Lu  <hongjiu.lu@intel.com>
17         PR bootstrap/95147
18         * configure: Regenerated.
20 2020-05-14  H.J. Lu  <hongjiu.lu@intel.com>
22         * configure: Regenerated.
24 2020-02-12  Sandra Loosemore  <sandra@codesourcery.com>
26         PR libstdc++/79193
27         PR libstdc++/88999
29         * configure: Regenerated.
31 2020-01-24  Maciej W. Rozycki  <macro@wdc.com>
33         * configure.ac: Handle `--with-toolexeclibdir='.
34         * Makefile.in: Regenerate.
35         * aclocal.m4: Regenerate.
36         * configure: Regenerate.
38 2020-01-01  Jakub Jelinek  <jakub@redhat.com>
40         Update copyright years.
42         * libquadmath.texi: Bump @copying's copyright year.
44 2019-09-27  Maciej W. Rozycki  <macro@wdc.com>
46         * configure: Regenerate.
48 2019-08-02  Jakub Jelinek  <jakub@redhat.com>
50         * quadmath.h (M_Eq, M_LOG2Eq, M_LOG10Eq, M_LN2q, M_LN10q, M_PIq,
51         M_PI_2q, M_PI_4q, M_1_PIq, M_2_PIq, M_2_SQRTPIq, M_SQRT2q,
52         M_SQRT1_2q): Use two more decimal places.
54 2019-01-01  Jakub Jelinek  <jakub@redhat.com>
56         Update copyright years.
58         * libquadmath.texi: Bump @copying's copyright year.
60 2018-12-11  Jakub Jelinek  <jakub@redhat.com>
62         PR c/88430
63         * quadmath_weak.h (__qmath2): Add __quadmath_throw.
65 2018-11-07  Joseph Myers  <joseph@codesourcery.com>
67         * quadmath-imp.h (ieee854_float128): Use mantissa0, mantissa1,
68         mantissa2 and mantissa3 fields instead of mant_high and mant_low.
69         Change nan field to ieee_nan.
70         * update-quadmath.py (update_sources): Also update fmaq.c.
71         * math/nanq.c (nanq): Use ieee_nan field of union.
72         Zero-initialize f.  Set quiet_nan field.
73         * printf/flt1282mpn.c, printf/printf_fphex.c, strtod/mpn2flt128.c,
74         strtod/strtoflt128.c: Use mantissa0, mantissa1, mantissa2 and
75         mantissa3 fields.  Use ieee_nan and quiet_nan field.
76         * math/fmaq.c: Regenerate from glibc sources with
77         update-quadmath.py.
79 2018-11-05  Joseph Myers  <joseph@codesourcery.com>
81         PR libquadmath/68686
82         * Makefile.am: (libquadmath_la_SOURCES): Remove math/isinf_nsq.c.
83         Add math/exp2q.c math/issignalingq.c math/lgammaq_neg.c
84         math/lgammaq_product.c math/tanq_kernel.c math/tgammaq_product.c
85         math/casinhq_kernel.c.
86         * Makefile.in: Regenerate.
87         * libquadmath.texi (exp2q, issignalingq): Document.
88         * quadmath-imp.h: Include <errno.h>, <limits.h>, <stdbool.h> and
89         <fenv.h>.
90         (HIGH_ORDER_BIT_IS_SET_FOR_SNAN, FIX_FLT128_LONG_CONVERT_OVERFLOW)
91         (FIX_FLT128_LLONG_CONVERT_OVERFLOW, __quadmath_kernel_tanq)
92         (__quadmath_gamma_productq, __quadmath_gammaq_r)
93         (__quadmath_lgamma_negq, __quadmath_lgamma_productq)
94         (__quadmath_lgammaq_r, __quadmath_kernel_casinhq, mul_splitq)
95         (math_check_force_underflow_complex, __glibc_likely)
96         (__glibc_unlikely, struct rm_ctx, SET_RESTORE_ROUNDF128)
97         (libc_feholdsetround_ctx, libc_feresetround_ctx): New.
98         (feraiseexcept, fenv_t, feholdexcept, fesetround, feupdateenv)
99         (fesetenv, fetestexcept, feclearexcept): Define if not supported
100         through <fenv.h>.
101         (__quadmath_isinf_nsq): Remove.
102         * quadmath.h (exp2q, issignalingq): New.
103         * quadmath.map (QUADMATH_1.2): New.
104         * quadmath_weak.h (exp2q, issignalingq): New.
105         * update-quadmath.py: New file.
106         * math/isinf_nsq.c: Remove file.
107         * math/casinhq_kernel.c, math/exp2q.c, math/expq_table.h,
108         math/issignalingq.c, math/lgammaq_neg.c, math/lgammaq_product.c,
109         math/tanq_kernel.c, math/tgammaq_product.c: New files.  Generated
110         from glibc sources with update-quadmath.py.
111         * math/acoshq.c, math/acosq.c, math/asinhq.c, math/asinq.c,
112         math/atan2q.c, math/atanhq.c, math/atanq.c, math/cacoshq.c,
113         math/cacosq.c, math/casinhq.c, math/casinq.c, math/catanhq.c,
114         math/catanq.c, math/cbrtq.c, math/ccoshq.c, math/ceilq.c,
115         math/cexpq.c, math/cimagq.c, math/clog10q.c, math/clogq.c,
116         math/conjq.c, math/copysignq.c, math/coshq.c, math/cosq.c,
117         math/cosq_kernel.c, math/cprojq.c, math/crealq.c, math/csinhq.c,
118         math/csinq.c, math/csqrtq.c, math/ctanhq.c, math/ctanq.c,
119         math/erfq.c, math/expm1q.c, math/expq.c, math/fabsq.c,
120         math/fdimq.c, math/finiteq.c, math/floorq.c, math/fmaxq.c,
121         math/fminq.c, math/fmodq.c, math/frexpq.c, math/hypotq.c,
122         math/ilogbq.c, math/isinfq.c, math/isnanq.c, math/j0q.c,
123         math/j1q.c, math/jnq.c, math/ldexpq.c, math/lgammaq.c,
124         math/llrintq.c, math/llroundq.c, math/log10q.c, math/log1pq.c,
125         math/log2q.c, math/logbq.c, math/logq.c, math/lrintq.c,
126         math/lroundq.c, math/modfq.c, math/nearbyintq.c,
127         math/nextafterq.c, math/powq.c, math/remainderq.c, math/remquoq.c,
128         math/rintq.c, math/roundq.c, math/scalblnq.c, math/scalbnq.c,
129         math/signbitq.c, math/sincos_table.c, math/sincosq.c,
130         math/sincosq_kernel.c, math/sinhq.c, math/sinq.c,
131         math/sinq_kernel.c, math/tanhq.c, math/tanq.c, math/tgammaq.c,
132         math/truncq.c, math/x2y2m1q.c: Regenerate from glibc sources with
133         update-quadmath.py.
135 2018-10-31  Joseph Myers  <joseph@codesourcery.com>
137         PR bootstrap/82856
138         * Makefile.am: Include multilib.am.
139         (AUTOMAKE_OPTIONS): Remove 1.8.  Add info-in-builddir.
140         (all-local): Define outside conditional code.
141         (CLEANFILES): Remove libquadmath.info.
142         * configure.ac: Remove AC_PREREQ.
143         * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
145 2018-04-24  H.J. Lu  <hongjiu.lu@intel.com>
147         * configure: Regenerated.
149 2018-04-19  Jakub Jelinek  <jakub@redhat.com>
151         * configure: Regenerated.
153 2018-04-18  David Malcolm  <dmalcolm@redhat.com>
155         PR jit/85384
156         * configure: Regenerate.
158 2018-02-14  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
160         PR target/84148
161         * configure: Regenerate.
163 2018-01-03  Jakub Jelinek  <jakub@redhat.com>
165         * libquadmath.texi: Bump @copying's copyright year.
167 2017-11-17  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
169         * Makefile.am: Update AM_CFLAGS.
170         * Makefile.in: Regenerate:
171         * acinclude.m4: Add enable.m4 and cet.m4.
172         * configure: Regenerate.
173         * configure.ac: Set CET_FLAGS. Update XCFLAGS.
175 2017-11-05  Tom de Vries  <tom@codesourcery.com>
177         PR other/82784
178         * printf/gmp-impl.h (MPN_MUL_N_RECURSE): Remove semicolon after
179         "do {} while (0)".
181 2017-09-01  Michael Meissner  <meissner@linux.vnet.ibm.com>
183         PR libquadmath/81848
184         * configure.ac (powerpc*-linux*): Use attribute mode KC to create
185         complex __float128 on PowerPC instead of attribute mode TC.
186         * quadmath.h (__complex128): Likewise.
187         * configure: Regenerate.
188         * math/cbrtq.c (CBRT2): Use __float128 not long double.
189         (CBRT4): Likewise.
190         (CBRT2I): Likewise.
191         (CBRT4I): Likewise.
192         * math/j0q.c (U0): Likewise.
193         * math/sqrtq.c (sqrtq): Don't depend on implicit conversion
194         between __float128, instead explicitly convert the __float128
195         value to long double because the PowerPC does not allow __float128
196         and long double in the same expression.
198 2017-07-19  Gerald Pfeifer  <gerald@pfeifer.com>
200         * math/powq.c (powq): Use uint32_t instead of u_int32_t.
202 2017-07-19  Jakub Jelinek  <jakub@redhat.com>
204         PR libquadmath/65757
205         * quadmath-imp.h (math_opt_barrier, math_force_eval,
206         math_narrow_eval, math_check_force_underflow,
207         math_check_force_underflow_nonneg): Define.
208         * math/ceilq.c: Backport changes from upstream glibc
209         between 2012-11-01 and 2017-07-13.
210         * math/remquoq.c: Likewise.
211         * math/expq.c: Likewise.
212         * math/llroundq.c: Likewise.
213         * math/logq.c: Likewise.
214         * math/atanq.c: Likewise.
215         * math/nearbyintq.c: Likewise.
216         * math/scalblnq.c: Likewise.
217         * math/finiteq.c: Likewise.
218         * math/atanhq.c: Likewise.
219         * math/expm1q.c: Likewise.
220         * math/sinhq.c: Likewise.
221         * math/log10q.c: Likewise.
222         * math/rintq.c: Likewise.
223         * math/roundq.c: Likewise.
224         * math/fmaq.c: Likewise.
225         * math/erfq.c: Likewise.
226         * math/log2q.c: Likewise.
227         * math/lroundq.c: Likewise.
228         * math/j1q.c: Likewise.
229         * math/scalbnq.c: Likewise.
230         * math/truncq.c: Likewise.
231         * math/frexpq.c: Likewise.
232         * math/sincosq.c: Likewise.
233         * math/tanhq.c: Likewise.
234         * math/asinq.c: Likewise.
235         * math/coshq.c: Likewise.
236         * math/j0q.c: Likewise.
237         * math/asinhq.c: Likewise.
238         * math/floorq.c: Likewise.
239         * math/sinq_kernel.c: Likewise.
240         * math/powq.c: Likewise.
241         * math/hypotq.c: Likewise.
242         * math/sincos_table.c: Likewise.
243         * math/rem_pio2q.c: Likewise.
244         * math/nextafterq.c: Likewise.
245         * math/log1pq.c: Likewise.
246         * math/sincosq_kernel.c: Likewise.
247         * math/tanq.c: Likewise.
248         * math/acosq.c: Likewise.
249         * math/lrintq.c: Likewise.
250         * math/llrintq.c: Likewise.
252 2017-02-09  Gerald Pfeifer  <gerald@pfeifer.com>
254         * configure.ac (ACX_BUGURL): Update.
255         * configure: Regenerate.
257 2017-01-17  Jakub Jelinek  <jakub@redhat.com>
259         PR other/79046
260         * configure.ac: Add GCC_BASE_VER.
261         * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
262         get version from BASE-VER file.
263         * configure: Regenerated.
264         * Makefile.in: Regenerated.
266 2017-01-01  Jakub Jelinek  <jakub@redhat.com>
268         * libquadmath.texi: Bump @copying's copyright year.
270 2016-11-15  Matthias Klose  <doko@ubuntu.com>
272         * configure: Regenerate.
274 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
276         * libquadmath.texi: Bump @copying's copyright year.
278 2015-08-09  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
280         * Makefile.am (libquadmath_la_SOURCES): Add matha/logbq.c.
281         * Makefile.in: Regenerate.
282         * libquadmath.texi: Document logbq.
283         * quadmath.h: Add logbq prototype.
284         * quadmath.map: Add logbq.
285         * quadmath_weak.h: Add logbq prototype.
286         * math/logbq.c: New file
288 2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>
290         * Makefile.in: Regenerated with automake-1.11.6.
291         * aclocal.m4: Likewise.
292         * configure: Likewise.
294 2015-01-26  Matthias Klose  <doko@ubuntu.com>
296         * configure.ac: Move AM_ENABLE_MULTILIB before AC_PROG_CC.
297         * configure: Regenerate.
299 2015-01-05  Jakub Jelinek  <jakub@redhat.com>
301         * libquadmath.texi: Bump @copying's copyright year.
303 2014-11-21  H.J. Lu  <hongjiu.lu@intel.com>
305         PR bootstrap/63784
306         * configure: Regenerated.
308 2014-11-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
310         PR target/63610
311         * configure: Regenerate.
313 2014-10-21  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
315         PR libquadmath/55821
316         * Makefile.am: Unconditionally define libquadmath_TEXINFOS.
317         * Makefile.in: Regenerate.
319 2014-10-09  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
321         PR libquadmath/55821
322         * Makefile.am: Conditionally define info_TEXINFOS and
323         libquadmath_TEXINFOS.
324         * Makefile.in: Regenerate.
326 2014-10-08  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
328         PR libquadmath/63487
329         * libquadmath.texi (sincosq): Fix typo.
331 2014-01-02  Tobias Burnus  <burnus@net-b.de>
333         * libquadmath.texi: Bump @copying's copyright year.
335 2013-12-04  Richard Sandiford  <rdsandiford@googlemail.com>
337         * Makefile.am (AM_CPPFLAGS): Define.
338         * Makefile.in: Regenerate.
339         * printf/gmp-impl.h: Remove path from longlong.h include.
341 2013-09-20  Alan Modra  <amodra@gmail.com>
343         * configure: Regenerate.
345 2013-03-06  Shakthi Kannan  <shakthimaan@gmail.com>
347         PR libquadmath/55473
348         * quadmath.h: Add 'extern "C"' block for C++ use.
350 2013-02-19  Jakub Jelinek  <jakub@redhat.com>
352         PR libquadmath/56379
353         * strtod/strtod_l.c (mpn_lshift_1): Rewritten as function-like
354         macro.
356 2013-02-17  Tobias Burnus  <burnus@net-b.de>
358         * math/cacoshq.c (cacoshq): Call signbitq instead of signbit.
360 2013-02-06  Richard Sandiford  <rdsandiford@googlemail.com>
362         Revert previous patch.
364 2013-02-03  Richard Sandiford  <rdsandiford@googlemail.com>
366         Update copyright years.
368 2013-01-22  Jakub Jelinek  <jakub@redhat.com>
370         PR libquadmath/56072
371         * libquadmath.texi (M_PI_2q, M_PI_4q): Fix up description.
373 2012-12-13  Jakub Jelinek  <jakub@redhat.com>
375         * math/cbrtq.c (cbrtq): Use Q suffixed floating point constants
376         instead of L suffixed ones.
377         * math/fmaq.c (fmaq): Likewise.
378         * math/rintq.c (TWO112): Likewise.
380 2012-12-03  Tobias Burnus  <burnus@net-b.de>
382         * strtod/strtod_l.c (___STRTOF_INTERNAL): Fix exponent
383         reading.
385 2012-11-25  Tobias Burnus  <burnus@net-b.de>
387         PR libquadmath/55462
388         * strtod/strtod_l.c (round_and_return): Use HAVE_FENV_H
389         instead of nonexisting HAVE_GET_ROUNDING_MODE.
391 2012-11-23  H.J. Lu  <hongjiu.lu@intel.com>
393         PR bootstrap/55455
394         * quadmath-rounding-mode.h (get_rounding_mode): Don't pass
395         void to fegetround.
397 2012-11-23  Tobias Burnus  <burnus@net-b.de>
398             Joseph Myers  <joseph@codesourcery.com>
400         * quadmath-rounding-mode.h: New.
401         * printf/fpioconst.c: Update from GLIBC. Fix strtod rounding.
402         * printf/fpioconst.h: Ditto.
403         * printf/printf_fp.c (__quadmath_printf_fp): Update from GLIBC.
404         Make printf respect the rounding mode for decimal output.
405         * printf/printf_fphex.c (__quadmath_printf_fphex): Update from
406         GLIBC.  Make printf respect the rounding mode for hex output.
407         * strtod/strtod_l.c: Update from GLIBC. Make strtod respect the
408         rounding mode. Fix strtod handling of underflow.
410 2012-11-22  David S. Miller  <davem@davemloft.net>
411             Tobias Burnus  <burnus@net-b.de>
412             Joseph Myers  <joseph@codesourcery.com>
414         * math/atanq.c (atanq): Update from GLIBC. Handle tiny and
415         very large arguments properly.
416         * math/j0q.c (y0q): Update from GLIBC. Avoid arithmetic
417         underflow when 'x' is very small.
418         * math/j1q.c (y1q): Ditto.
419         * math/log1pq.c (log1pq): Update from GLIBC. Saturate
420         nonzero exponents with absolute value below 0x1p-128 to
421         +/- 0x1p-128.
422         * math/powq.c (powq): Update from GLIBC. If xm1 is
423         smaller than LDBL_EPSILON/2.0L, just return xm1.
425 2012-11-21  Tobias Burnus  <burnus@net-b.de>
427         PR libquadmath/55225
428         * math/lgammaq.c (lgammaq): Use local variable if
429         math.h does not provide signgam.
430         * acinclude.m4 (LIBQUAD_CHECK_MATH_H_SIGNGAM): New check.
431         * configure.ac: Use it.
432         * configure: Regenerate.
433         * config.h.in: Regenerate.
435 2012-11-15  Tobias Burnus  <burnus@net-b.de>
436             Joseph Myers  <joseph@codesourcery.com>
438         * math/fmaq.c (fmaq): Merge from GLIBC. Fix fma
439         underflows with small x * y; Fix overflow results
440         outside round-to-nearest mode; make use of Dekker
441         and Knuth algorithms use round-to-nearest.
443 2012-11-01  Tobias Burnus  <burnus@net-b.de>
445         * math/fmaq.c (fmaq): Fix build.
447 2012-11-01  Tobias Burnus  <burnus@net-b.de>
448             Joseph Myers  <joseph@codesourcery.com>
450         * math/fmaq.c (fmaq): Merge from GLIBC. Handle cases
451         with small x * y using scaling, not as x * y + z.
452         * math/lgammaq.c (lgammaq): Fix signgam handling.
454 2012-11-01  Tobias Burnus  <burnus@net-b.de>
456         * Makefile.am (libquadmath_la_SOURCES): Add new math/* files.
457         * Makefile.in: Regenerated.
458         * math/acoshq.c: Update comment.
459         * math/acosq.c: Ditto.
460         * math/asinhq.c: Ditto.
461         * math/asinq.c: Ditto.
462         * math/atan2q.c: Ditto.
463         * math/atanhq.c: Ditto.
464         * math/ceilq.c: Ditto.
465         * math/copysignq.c: Ditto.
466         * math/cosq.c: Ditto.
467         * math/coshq.c: Ditto.
468         * math/erfq.c: Ditto.
469         * math/fabsq.c: Ditto.
470         * math/finiteq.c: Ditto.
471         * math/floorq.c: Ditto.
472         * math/fmodq.c: Ditto.
473         * math/frexpq.c: Ditto.
474         * math/isnanq.c: Ditto.
475         * math/j0q.c: Ditto.
476         * math/j1q.c: Ditto.
477         * math/ldexpq.c: Ditto.
478         * math/llroundq.c: Ditto.
479         * math/log10q.c: Ditto.
480         * math/log1pq.c: Ditto.
481         * math/log2q.c: Ditto.
482         * math/logq.c: Ditto.
483         * math/lroundq.c: Ditto.
484         * math/modfq.c: Ditto.
485         * math/nextafterq.c: Ditto.
486         * math/powq.c: Ditto.
487         * math/rem_pio2q.c: Ditto.
488         * math/remainderq.c: Ditto.
489         * math/rintq.c: Ditto.
490         * math/roundq.c: Ditto.
491         * math/scalblnq.c: Ditto.
492         * math/scalbnq.c: Ditto.
493         * math/sincosq_kernel.c: Ditto.
494         * math/sinq.c: Ditto.
495         * math/tanq.c: Ditto.
496         * math/expq.c: Ditto.
497         (__expq_table, expq): Renamed local array from __expl_table.
498         * math/cosq_kernel.c (__quadmath_kernel_cosq): Fix sign handling.
499         * math/cacoshq.c: Changes from GLIBC; fix returned sign.
500         * math/casinhq.c: Changes from GLIBC to fix special-case.
501         * math/cbrtq.c: Use modified GLIBC version.
502         * math/complex.c (ccoshd, cexpq, clog10q, clogq, csinhq, csinq,
503         ctanhq, ctanq): Moved to separates files.
504         (mult_c128, div_c128): Removed no longer needed functions.
505         (cexpiq): Call sincosq instead of sinq and cosq.
506         (cosq): Call cosh(-re,im) instead of cosq/sinq/sinh/cosh.
507         * math/ccoshq.c (ccoshq): New file, moved from complex.c and
508         modified based on GLIBC.
509         * math/cexpq.c (cexp): Ditto.
510         * math/clog10q.c (clog10q): Ditto.
511         * math/clogq.c (clogq): Ditto.
512         * math/csinhq.c: Ditto.
513         * math/csinq.c: Ditto.
514         * math/csqrtq.c: Ditto.
515         * math/ctanhq.c: Ditto.
516         * math/ctanq.c: Ditto.
517         * math/fmaq.c (fmaq): Port TININESS_AFTER_ROUNDING handling
518         from GLIBC.
519         * math/ilogbq.c (ilogbq): Add errno = EDOM handling.
520         * math/isinf_nsq.c (__quadmath_isinf_nsq): New file, ported
521         from GLIBC.
522         * math/lgammaq.c (lgammaq): Add signgam handling.
523         * math/sinhq.c (sinhq): Fix sign handling.
524         * math/sinq_kernel.c (__quadmath_kernel_sinq): Ditto.
525         * math/tgammaq.c (tgammaq): Ditto.
526         * math/x2y2m1q.c: New file.
527         * quadmath-imp.h (TININESS_AFTER_ROUNDING): New define.
528         (__quadmath_x2y2m1q, __quadmath_isinf_nsq): New prototypes.
530 2012-10-31  Tobias Burnus  <burnus@net-b.de>
531             Joseph Myers <joseph@codesourcery.com>
532             David S. Miller <davem@davemloft.net>
533             Ulrich Drepper <drepper@redhat.com>
534             Marek Polacek <polacek@redhat.com>:
535             Petr Baudis <pasky@suse.cz>
537         * math/complex.c (csqrtq): NaN and INF fixes. 
538         * math/sqrtq.c (sqrt): NaN, INF and < 0 fixes.
539         * math/expm1q.c (expm1q): Changes from GLIBC. Use expq for
540         large parameters. Fix errno for boundary conditions.
541         * math/finiteq.c (finiteq): Add comment.
542         * math/fmaq.c (fmaq): Changes from GLIBC. Fix missing underflows
543         and bad results for some subnormal results. Fix sign of inexact
544         zero return. Fix sign of exact zero return. 
545         Ensure additions are not scheduled after fetestexcept.
546         * math/jnq.c (jnq): Changes from GLIBC. Set up errno properly
547         for ynq. Fix jnq precision.
548         * math/nearbyintq.c (nearbyintq): Changes from GLIBC. Do not
549         manipulate bits before adding and subtracting TWO112[sx].
550         * math/rintq.c (rintq): Ditto.
551         * math/scalbnq.c (scalbnq): Changes from GLIBC. Fix integer
552         overflow.
554 2012-09-14  David Edelsohn  <dje.gcc@gmail.com>
556         * configure: Regenerated.
558 2012-05-29  Benjamin Kosnik  <bkoz@redhat.com>
560         PR libstdc++/51007
561         * configure.ac: Allow gnu, gnu* variants for --enable-symvers argument.
562         * configure: Regenerated.
564 2012-05-16  H.J. Lu  <hongjiu.lu@intel.com>
566         * configure: Regenerated.
568 2011-11-21  Andreas Tobler  <andreast@fgznet.ch>
570         * configure: Regenerate.
572 2011-11-07  Kai Tietz  <ktietz@redhat.com>
574         PR target/51007
575         * quadmath-imp.h (ieee854_float128): Adjust
576         for ms-bitfield layout.
578 2011-11-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
580         * printf/gmp-impl.h: Adapt path to longlong.h.
582 2011-09-21  Joseph Myers  <joseph@codesourcery.com>
584         * Makefile.am (FLAGS_TO_PASS): Define.
585         * Makefile.in: Regenerate.
587 2011-08-01  Jakub Jelinek  <jakub@redhat.com>
589         * math/rem_pio2q.c (__quadmath_kernel_rem_pio2): Fix up fq to y
590         conversion for prec 3 and __FLT_EVAL_METHOD__ != 0.
592 2011-04-03  Tobias Burnus  <burnus@net-b.de>
594         PR fortran/48311
595         * libquadmath.texi (strtoflt128): Fix typo.
596         (quadmath_snprintf): Move note up, make @item.
598 2011-03-25  Jakub Jelinek  <jakub@redhat.com>
600         * printf/printf_fp.c (__quadmath_printf_fp): Use memcpy instead of
601         mempcpy.
603 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
605         PR bootstrap/48135
606         * configure.ac (quadmath_use_symver): Handle --disable-symvers.
607         * configure: Regenerate.
609 2011-02-28  Jakub Jelinek  <jakub@redhat.com>
611         * printf/quadmath-printf.c (quadmath_snprintf): Make sure
612         that for size > 0 str is always zero terminated.
614 2011-02-20  Jakub Jelinek  <jakub@redhat.com>
616         PR bootstrap/47827
617         * printf/quadmath-printf.h (NAN): Redefine to __builtin_nanf ("").
619 2011-02-17  Jakub Jelinek  <jakub@redhat.com>
621         * libquadmath.texi (FLT128_DIG, FLT128_MIN_10_EXP,
622         FLT128_MAX_10_EXP): Document.
623         (strtoflt128): Remove obsolete comment.
624         * configure.ac (HAVE_STRTOULL): New check.
625         * printf/gmp-impl.h (mpn_construct_float128): New prototype,
626         define.
627         * printf/mul_n.c: Include <config.h>.
628         * printf/add_n.c: Likewise.
629         * printf/cmp.c: Likewise.
630         * printf/fpioconst.c: Likewise.
631         * printf/mul_1.c: Likewise.
632         * printf/rshift.c: Likewise.
633         * printf/lshift.c: Likewise.
634         * printf/submul_1.c: Likewise.
635         * printf/sub_n.c: Likewise.
636         * printf/divrem.c: Likewise.
637         * printf/addmul_1.c: Likewise.
638         * printf/mul.c: Likewise.
639         * printf/quadmath-printf.h (isupper, isdigit, tolower): Change
640         to avoid evaluating argument multiple times.
641         (isxdigit): Redefine.
642         * strtod/strtoflt128.c: New file.
643         * strtod/strtod_l.c: New file.
644         * strtod/mpn2flt128.c: New file.
645         * strtod/grouping.h: New file.
646         * strtod/tens_in_limb.c: New file.
647         * gdtoa/arith.h: Removed.
648         * gdtoa/gd_qnan.h: Removed.
649         * gdtoa/gdtoa_fltrnds.h: Removed.
650         * gdtoa/gdtoa.h: Removed.
651         * gdtoa/gdtoaimp.h: Removed.
652         * gdtoa/gethex.c: Removed.
653         * gdtoa/gmisc.c: Removed.
654         * gdtoa/hd_init.c: Removed.
655         * gdtoa/hexnan.c: Removed.
656         * gdtoa/makefile: Removed.
657         * gdtoa/misc.c: Removed.
658         * gdtoa/README.gdtoa: Removed.
659         * gdtoa/smisc.c: Removed.
660         * gdtoa/strtodg.c: Removed.
661         * gdtoa/strtopQ.c: Removed.
662         * gdtoa/sum.c: Removed.
663         * quadmath.h (FLT128_DIG, FLT128_MIN_10_EXP, FLT128_MAX_10_EXP):
664         Define.
665         * Makefile.am (libquadmath_la_SOURCES): Remove gdtoa/*, add
666         strtod/strtoflt128.c, strtod/mpn2flt128.c and strtod/tens_in_limb.c.
667         * config.h.in: Regenerated.
668         * configure: Regenerated.
669         * Makefile.in: Regenerated.
671 2011-02-16  Jakub Jelinek  <jakub@redhat.com>
673         * printf/quadmath-printf.c: Also check __GLIBC__ when checking
674         whether workarounds for printf hook handling should be added.
676         * configure.ac: Check for locale.h too.
677         (USE_LOCALE_SUPPORT): Remove check.
678         (USE_NL_LANGINFO, USE_NL_LANGINFO_WC, USE_LOCALECONV): New checks.
679         (USE_I18_NUMBER_H): Check also for _NL_CTYPE_MB_CUR_MAX.
680         * printf/printf_fphex.c (__quadmath_printf_fphex): Use nl_langinfo
681         or localeconv for narrow version and nl_langinfo if USE_NL_LANGINFO_WC
682         for wide version.
683         * printf/quadmath-printf.h: Include locale.h if HAVE_LOCALE_H.
684         * printf/printf_fp.c (USE_I18N_NUMBER_H): Don't define to 0.
685         (__quadmath_printf_fp): Use nl_langinfo or localeconv for narrow
686         version and nl_langinfo if USE_NL_LANGINFO_WC for wide version.
687         Guard nl_langinfo (_NL_CTYPE_MB_CUR_MAX) use with
688         USE_I18N_NUMBER_H #ifdef.
689         * configure: Regenerated.
690         * config.h.in: Regenerated.
692 2011-02-14  Jakub Jelinek  <jakub@redhat.com>
694         PR bootstrap/47736
695         * configure.ac (HAVE_PRINTF_HOOKS): Test if printf_info struct has
696         user field.
697         * printf/quadmath-printf.c (quadmath_snprintf): Clear whole info
698         field instead of setting individual fields to 0.  Don't set info.user
699         to -1.
700         * configure: Regenerated.
702         * configure.ac (HAVE_HIDDEN_VISIBILITY): Test with -Werror in CFLAGS.
703         * printf/printf_fp.c: Don't include <alloca.h>.
704         * printf/quadmath-printf.h (_itoa): Redefine to __quadmath_itoa.
705         * configure: Regenerated.
707         PR fortran/47642
708         * libquadmath.texi (quadmath_snprintf): Document.
709         (quadmath_flt128tostr): Remove.
710         * Makefile.am (libquadmath_la_SOURCES): Add printf/*.c.
711         Remove  quadmath_io.c, gdtoa/gdtoa.c, gdtoa/g__fmt.c,
712         gdtoa/g_Qfmt.c, gdtoa/dmisc.c and gdtoa/ulp.c.
713         * quadmath.h (quadmath_snprintf): New prototype.
714         (quadmath_flt128tostr): Remove.
715         * quadmath_weak.h (quadmath_snprintf): Add.
716         (quadmath_flt128tostr): Remove.
717         * configure.ac: New AC_CHECK_HEADERS headers: langinfo.h, wchar.h,
718         wctype.h, limits.h, ctype.h, printf.h, errno.h.
719         (AC_USE_SYSTEM_EXTENSIONS): Add.
720         (HAVE_HIDDEN_VISIBILITY, HAVE_PRINTF_HOOKS,
721         USE_LOCALE_SUPPORT, USE_I18N_NUMBER_H): New checks.
722         * quadmath.map (QUADMATH_1.0): Add quadmath_snprintf.  Remove
723         quadmath_flt128tostr.
724         * printf/printf_fphex.c: New file.
725         * printf/_itowa.h: New file.
726         * printf/mul_n.c: New file.
727         * printf/quadmath-printf.h: New file.
728         * printf/submul_1.c: New file.
729         * printf/quadmath-printf.c: New file.
730         * printf/gmp-impl.h: New file.
731         * printf/lshift.c: New file.
732         * printf/fpioconst.h: New file.
733         * printf/add_n.c: New file.
734         * printf/cmp.c: New file.
735         * printf/sub_n.c: New file.
736         * printf/mul.c: New file.
737         * printf/divrem.c: New file.
738         * printf/addmul_1.c: New file.
739         * printf/printf_fp.c: New file.
740         * printf/_itoa.h: New file.
741         * printf/fpioconst.c: New file.
742         * printf/_i18n_number.h: New file.
743         * printf/flt1282mpn.c: New file.
744         * printf/rshift.c: New file.
745         * printf/mul_1.c: New file.
746         * quadmath_io.c: Removed.
747         * gdtoa/gdtoa.c: Removed.
748         * gdtoa/g__fmt.c: Removed.
749         * gdtoa/g_Qfmt.c: Removed.
750         * gdtoa/dmisc.c: Removed.
751         * gdtoa/ulp.c: Removed.
752         * config.h.in: Regenerated.
753         * configure: Regenerated.
754         * Makefile.in: Regenerated.
756 2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
758         * Makefile.in: Regenerate.
759         * aclocal.m4: Likewise.
760         * configure: Likewise.
762 2011-01-31  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
764         PR libquadmath/47293
765         * gdtoa/qd_qnan.h: Fix NAN bit patterns.
766         * gdtoa/strtopQ.c (strtoflt128): Handle endianess with NAN.
768 2011-01-17  Tobias Burnus  <burnus@net-b.de>
770         PR fortran/47295
771         * libquadmath.text: Document typedef and constants.
773 2011-01-17  Tobias Burnus  <burnus@net-b.de>
775         PR fortran/46817
776         * quadmath-imp.h: Refer to libquadmath not ot libiberty,
777         bump copyright year and use /**/ instead of // comments.
778         * quadmath.h: Ditto.
779         * quadmath-weak.h: Ditto.
780         * quadmath_io.c: Ditto.
782 2011-01-16  Jakub Jelinek  <jakub@redhat.com>
784         PR libfortran/47322
785         * math/remquoq.c (remquoq): Use uint64_t type instead of u_int64_t.
787         PR fortran/46625
788         * quadmath.map (QUADMATH_1.0): Remove quadmath_strtopQ
789         and quadmath_dtoaq.  Add strtoflt128 and quadmath_flt128tostr.
790         * quadmath_weak.h (quadmath_strtopQ, quadmath_dtoaq): Remove.
791         (strtoflt128, quadmath_flt128tostr): Add.
792         * gdtoa/strtopQ.c (quadmath_strtopQ): Rename to...
793         (strtoflt128): ... this.  Return __float128, instead of writing
794         to memory pointed by last argument.
795         * quadmath.h: Use C style comments instead of C++ style.
796         (quadmath_strtopQ, quadmath_dtoaq): Remove prototypes.
797         (strtoflt128, quadmath_flt128tostr): Add prototypes.
798         * libquadmath.texi (quadmath_dtoaq): Rename to quadmath_flt128tostr.
799         (quadmath_strtopQ): Rename to strtoflt128.  Adjust prototype,
800         adjust examples.
801         * quadmath_io.c (quadmath_dtoaq): Rename to...
802         (quadmath_flt128tostr): ... this.
804         * quadmath.h (__quadmath_throw, __quadmath_nth): Define.
805         Use it for all prototypes.
807         PR fortran/46416
808         * quadmath.h (cbrtq, finiteq, isnanq, signbitq, sqrtq): Remove
809         const from prototype argument.
810         (cimagq, conjq, cprojq, crealq, fdimq, fmaxq, fminq, ilogbq,
811         llrintq, log2q, lrintq, nearbyintq, remquoq): New prototypes.
812         (__quadmath_extern_inline): Define.
813         (cimagq, conjq, crealq): New inlines.
814         * Makefile.am (libquadmath_la_SOURCES): Add math/cimagq.c,
815         math/conjq.c, math/cprojq.c, math/crealq.c, math/fdimq.c,
816         math/fmaxq.c, math/fminq.c, math/ilogbq.c, math/llrintq.c,
817         math/log2q.c, math/lrintq.c, math/nearbyintq.c and math/remquoq.c.
818         * Makefile.in: Regenerated.
819         * quadmath_weak.h (cimagq, conjq, cprojq, crealq, fdimq, fmaxq,
820         fminq, ilogbq, llrintq, log2q, lrintq, nearbyintq, remquoq): Add.
821         * quadmath-imp.h (__LITTLE_ENDIAN__): Don't define.
822         (ieee854_float128): Use __BYTE_ORDER == __ORDER_BIG_ENDIAN__
823         tests instead of __BIG_ENDIAN__.
824         * quadmath.map (QUADMATH_1.0): Add cimagq, conjq, cprojq, crealq,
825         fdimq, fmaxq, fminq, ilogbq, llrintq, log2q, lrintq, nearbyintq
826         and remquoq.
827         * libquadmath.texi (cimagq, conjq, cprojq, crealq, fdimq, fmaxq,
828         fminq, ilogbq, llrintq, log2q, lrintq, nearbyintq, remquoq): Add.
829         * math/cprojq.c: New file.
830         * math/ilogbq.c: New file.
831         * math/fminq.c: New file.
832         * math/llrintq.c: New file.
833         * math/log2q.c: New file.
834         * math/lrintq.c: New file.
835         * math/crealq.c: New file.
836         * math/nearbyintq.c: New file.
837         * math/fmaxq.c: New file.
838         * math/conjq.c: New file.
839         * math/remquoq.c: New file.
840         * math/cimagq.c: New file.
841         * math/fdimq.c: New file.
843         * math/ldexpq.c: Include errno.h.  Set errno to ERANGE if needed.
845         PR fortran/46416
846         * quadmath.h (cacosq, cacoshq, casinq, casinhq, catanq, catanhq):
847         New prototypes.
848         (M_Eq, M_LOG2Eq, M_LOG10Eq, M_LN2q, M_LN10q, M_PIq, M_PI_2q, M_PI_4q,
849         M_1_PIq, M_2_PIq, M_2_SQRTPIq, M_SQRT2q, M_SQRT1_2q): Define.
850         * quadmath_weak.h (cacosq, cacoshq, casinq, casinhq, catanq,
851         catanhq): Add.
852         * quadmath-imp.h (fpclassifyq, QUADFP_NAN, QUADFP_INFINITE,
853         QUADFP_ZERO, QUADFP_SUBNORMAL, QUADFP_NORMAL): Define.
854         * quadmath.map (QUADMATH_1.0): Add cacosq, cacoshq, casinq, casinhq,
855         catanq and catanhq.
856         * Makefile.am (libquadmath_la_SOURCES): Add math/cacosq.c,
857         math/cacoshq.c, math/casinq.c, math/casinhq.c, math/catanq.c
858         and math/catanhq.c.
859         * Makefile.in: Regenerated.
860         * libquadmath.texi (cacosq, cacoshq, casinq, casinhq,
861         catanq, catanhq): Add.
862         * math/cacoshq.c: New file.
863         * math/cacosq.c: New file.
864         * math/catanq.c: New file.
865         * math/catanhq.c: New file.
866         * math/casinq.c: New file.
867         * math/casinhq.c: New file.
869         * math/hypotq.c (hypotq): Use Q suffix instead of L.
870         * math/atan2q.c (tiny, pi_o_4, pi_o_2, pi, pi_lo, atan2q): Likewise.
871         * math/cosq.c (cosq): Likewise.
873         PR fortran/46402
874         * quadmath.map (QUADMATH_1.0): Add fmaq.
875         * configure.ac: Check for fenv.h, feholdexcept, fesetround,
876         feupdateenv, fesetenv and fetestexcept.
877         * configure: Regenerated.
878         * config.h.in: Regenerated.
879         * quadmath.h (fmaq): New prototype.
880         * quadmath_weak.h (fmaq): Add.
881         * Makefile.am (libquadmath_la_SOURCES): Add math/fmaq.c.
882         * Makefile.in: Regenerated.
883         * quadmath-imp.h: Include config.h.
884         * math/expq.c: Include fenv.h.
885         (USE_FENV_H): Define if libm support for fe* is there.
886         (expq): Add fesetround etc. support if USE_FENV_H is defined.
887         * math/fmaq.c: New file.
888         * libquadmath.texi (fmaq): Add.
890 2011-01-14  Tobias Burnus  <burnus@net-b.de>
892         PR fortran/47182
893         * configure.ac: Use ACX_BUGURL.
894         * libquadmath.texi: Include libquadmath-vers.texi for BUGURL.
895         * Makefile.am: Create libquadmath-vers.texi.
896         * configure.in: Regenerate.
897         * Makefile.in: Regenerate.
899 2011-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
901         PR fortran/47174
902         * Makefile.am (libquadmath.info): Unconditionally override
903         target, not only if BUILD_LIBQUADMATH.
904         * Makefile.in: Regenerate.
905         * configure.ac (AM_INIT_AUTOMAKE): Add -Wno-override option to
906         avoid warning from automake.
908 2010-12-19  Tobias Burnus  <burnus@net-b.de>
910         PR fortran/46520
911         * configure.ac: Do not call AC_CHECK_LIB for gcc_no_link.
912         * configure: Regenerate
914 2010-12-13  Tobias Burnus  <burnus@net-b.de>
916         PR fortran/46625
917         * gdtoa/gdtoaimp.h: Mangle internal functions by
918         prefixing them with __quadmath. Don't use gdtoa's strcp(y).
919         * gdtoa/g_Qfmt.c (g_Qfmt): Use strcpy instead of strcp.
920         * gdtoa/misc.c (strcpy): Renamed from strcp and only use
921         if NO_STRING_H is set.
922         * quadmath-imp.h (__quadmath_rem_pio2q, __quadmath_kernel_sincosq
923         __quadmath_kernel_sinq, __quadmath_kernel_cosq): Added
924         __quadmath prefix to internal functions.
925         * math/cosq.c (cosq): Ditto.
926         * math/sinq.c (cosq): Ditto.
927         * math/tanq.c (tanq,__quadmath_kernel_tanq): Ditto.
928         * math/rem_pio2q.c (rem_pio2, __quadmath_kernel_rem_pio2): Ditto.
929         * math/sinq_kernel.c (__quadmath_kernel_sinq): Ditto.
930         * math/cosq_kernel.c (__quadmath_kernel_cosq): Ditto.
932 2010-12-08  Tobias Burnus  <burnus@net-b.de>
934         PR fortran/46772
935         * gdtoa/gdtoa.h: Include stdlib.h instead of declare strtod.
936         * gdtoa/gdtoaimp.h: Don't declare strtod.
938 2010-12-08  Tobias Burnus  <burnus@net-b.de>
940         PR fortran/46520
941         * configure.ac: Use GCC_TRY_COMPILE_OR_LINK instead of
942         AC_TRY_LINK and cache libquad_have_float128.
943         * configure: Regenerate.
945 2010-12-08  Tobias Burnus  <burnus@net-b.de>
947         PR fortran/46543
948         * configure.ac: Add texinfo checks.
949         * Makefile.am: Handle .texi documentation.
950         * libquadmath.texi: New.
951         * configure: Regenerated.
952         * Makefile.in: Regenerated.
954 2010-12-06  Tobias Burnus  <burnus@net-b.de>
956         PR fortran/46817
957         * quadmath-imp.h: Add LGPL header.
958         * quadmath.h: Add LGPL header.
959         * quadmath_io.c: Add LGPL header.
960         * quadmath_weak.h: Add LGPL header.
962 2010-12-06  Dave Korn  <dave.korn.cygwin@gmail.com>
964         PR target/40125
965         PR lto/46695
966         * configure.ac: Invoke ACX_LT_HOST_FLAGS.
967         * Makefile.am (libquadmath_la_LDFLAGS): Use lt_host_flags.
968         * aclocal.m4: Regenerate.
969         * configure: Regenerate.
970         * Makefile.in: Regenerate.
972 2010-11-30  Tobias Burnus  <burnus@net-b.de>
974         PR fortran/46594
975         * Makefile.am: Install include files in
976         target/version specific directory.
977         * Makefile.in: Regenerate.
979 2010-11-30  Tobias Burnus  <burnus@net-b.de>
981         * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS,
982         LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY,
983         LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT): Remove.
985 2010-11-29  Kai Tietz  <kai.tietz@onevision.com>
987         * configure: Regenerated.
988         * Makefile.in: Regenerated.
989         * configure.ac (ACX_NONCANONICAL_TARGET): Call it.
990         (target_alias): Use AC_SUBST for it.
991         (GCC_NO_EXECUTABLES): Call it.
992         (AC_PROG_CC): Improve multilib handling.
993         Check that gcc is used for compilation.
994         Use pattern from libssp for symbol versioning checking.
995         * Makefile.am (LTLDFLAGS): Removed.
996         (libquadmath_la_LDFLAGS): Add -no-undefined.
997         (libquadmath_la_LINK): Commented out.
998         (libquadmath_la_DEPENDENCIES): Add libquadmath_la_LIBADD.
999         (AM_MAKEFLAGS): Add hack for argument passing by top-level.
1000         (MAKEOVERRIDES): New.
1001         * aclocal.m4: Regenerated.
1003 2010-11-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1005         * Makefile.am (libquadmath_la_LIBADD): Move -lm ...
1006         (libquadmath_la_LDFLAGS): ... here.
1007         (quadmath.map-sun): Tabify.
1008         Fix sed expression.
1009         * Makefile.in: Regenerate.
1011 2010-11-16  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1012             Tobias Burnus  <burnus@net-b.de>
1014         PR fortran/32049
1015         Initial implementation and checkin.
1017 Copyright (C) 2010-2018 Free Software Foundation, Inc.
1019 Copying and distribution of this file, with or without modification,
1020 are permitted in any medium without royalty provided the copyright
1021 notice and this notice are preserved.