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