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