Use Pmode with stack_pointer_rtx
[gcc.git] / libquadmath / ChangeLog
index c17753c8528ace5795f38b21fd45e3e10f5ecbcc..d3c17f67d5d899c343045b4e360afd186b148503 100644 (file)
@@ -1,5 +1,369 @@
+2013-09-20  Alan Modra  <amodra@gmail.com>
+
+       * configure: Regenerate.
+
+2013-03-06  Shakthi Kannan  <shakthimaan@gmail.com>
+
+       PR libquadmath/55473
+       * quadmath.h: Add 'extern "C"' block for C++ use.
+
+2013-02-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libquadmath/56379
+       * strtod/strtod_l.c (mpn_lshift_1): Rewritten as function-like
+       macro.
+
+2013-02-17  Tobias Burnus  <burnus@net-b.de>
+
+       * math/cacoshq.c (cacoshq): Call signbitq instead of signbit.
+
+2013-02-06  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       Revert previous patch.
+
+2013-02-03  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       Update copyright years.
+
+2013-01-22  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libquadmath/56072
+       * libquadmath.texi (M_PI_2q, M_PI_4q): Fix up description.
+
+2012-12-13  Jakub Jelinek  <jakub@redhat.com>
+
+       * math/cbrtq.c (cbrtq): Use Q suffixed floating point constants
+       instead of L suffixed ones.
+       * math/fmaq.c (fmaq): Likewise.
+       * math/rintq.c (TWO112): Likewise.
+
+2012-12-03  Tobias Burnus  <burnus@net-b.de>
+
+       * strtod/strtod_l.c (___STRTOF_INTERNAL): Fix exponent
+       reading.
+
+2012-11-25  Tobias Burnus  <burnus@net-b.de>
+
+       PR libquadmath/55462
+       * strtod/strtod_l.c (round_and_return): Use HAVE_FENV_H
+       instead of nonexisting HAVE_GET_ROUNDING_MODE.
+
+2012-11-23  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR bootstrap/55455
+       * quadmath-rounding-mode.h (get_rounding_mode): Don't pass
+       void to fegetround.
+
+2012-11-23  Tobias Burnus  <burnus@net-b.de>
+           Joseph Myers  <joseph@codesourcery.com>
+
+       * quadmath-rounding-mode.h: New.
+       * printf/fpioconst.c: Update from GLIBC. Fix strtod rounding.
+       * printf/fpioconst.h: Ditto.
+       * printf/printf_fp.c (__quadmath_printf_fp): Update from GLIBC.
+       Make printf respect the rounding mode for decimal output.
+       * printf/printf_fphex.c (__quadmath_printf_fphex): Update from
+       GLIBC.  Make printf respect the rounding mode for hex output.
+       * strtod/strtod_l.c: Update from GLIBC. Make strtod respect the
+       rounding mode. Fix strtod handling of underflow.
+
+2012-11-22  David S. Miller  <davem@davemloft.net>
+           Tobias Burnus  <burnus@net-b.de>
+           Joseph Myers  <joseph@codesourcery.com>
+
+       * math/atanq.c (atanq): Update from GLIBC. Handle tiny and
+       very large arguments properly.
+       * math/j0q.c (y0q): Update from GLIBC. Avoid arithmetic
+       underflow when 'x' is very small.
+       * math/j1q.c (y1q): Ditto.
+       * math/log1pq.c (log1pq): Update from GLIBC. Saturate
+       nonzero exponents with absolute value below 0x1p-128 to
+       +/- 0x1p-128.
+       * math/powq.c (powq): Update from GLIBC. If xm1 is
+       smaller than LDBL_EPSILON/2.0L, just return xm1.
+
+2012-11-21  Tobias Burnus  <burnus@net-b.de>
+
+       PR libquadmath/55225
+       * math/lgammaq.c (lgammaq): Use local variable if
+       math.h does not provide signgam.
+       * acinclude.m4 (LIBQUAD_CHECK_MATH_H_SIGNGAM): New check.
+       * configure.ac: Use it.
+       * configure: Regenerate.
+       * config.h.in: Regenerate.
+
+2012-11-15  Tobias Burnus  <burnus@net-b.de>
+           Joseph Myers  <joseph@codesourcery.com>
+
+       * math/fmaq.c (fmaq): Merge from GLIBC. Fix fma
+       underflows with small x * y; Fix overflow results
+       outside round-to-nearest mode; make use of Dekker
+       and Knuth algorithms use round-to-nearest.
+
+2012-11-01  Tobias Burnus  <burnus@net-b.de>
+
+       * math/fmaq.c (fmaq): Fix build.
+
+2012-11-01  Tobias Burnus  <burnus@net-b.de>
+           Joseph Myers  <joseph@codesourcery.com>
+
+       * math/fmaq.c (fmaq): Merge from GLIBC. Handle cases
+       with small x * y using scaling, not as x * y + z.
+       * math/lgammaq.c (lgammaq): Fix signgam handling.
+
+2012-11-01  Tobias Burnus  <burnus@net-b.de>
+
+       * Makefile.am (libquadmath_la_SOURCES): Add new math/* files.
+       * Makefile.in: Regenerated.
+       * math/acoshq.c: Update comment.
+       * math/acosq.c: Ditto.
+       * math/asinhq.c: Ditto.
+       * math/asinq.c: Ditto.
+       * math/atan2q.c: Ditto.
+       * math/atanhq.c: Ditto.
+       * math/ceilq.c: Ditto.
+       * math/copysignq.c: Ditto.
+       * math/cosq.c: Ditto.
+       * math/coshq.c: Ditto.
+       * math/erfq.c: Ditto.
+       * math/fabsq.c: Ditto.
+       * math/finiteq.c: Ditto.
+       * math/floorq.c: Ditto.
+       * math/fmodq.c: Ditto.
+       * math/frexpq.c: Ditto.
+       * math/isnanq.c: Ditto.
+       * math/j0q.c: Ditto.
+       * math/j1q.c: Ditto.
+       * math/ldexpq.c: Ditto.
+       * math/llroundq.c: Ditto.
+       * math/log10q.c: Ditto.
+       * math/log1pq.c: Ditto.
+       * math/log2q.c: Ditto.
+       * math/logq.c: Ditto.
+       * math/lroundq.c: Ditto.
+       * math/modfq.c: Ditto.
+       * math/nextafterq.c: Ditto.
+       * math/powq.c: Ditto.
+       * math/rem_pio2q.c: Ditto.
+       * math/remainderq.c: Ditto.
+       * math/rintq.c: Ditto.
+       * math/roundq.c: Ditto.
+       * math/scalblnq.c: Ditto.
+       * math/scalbnq.c: Ditto.
+       * math/sincosq_kernel.c: Ditto.
+       * math/sinq.c: Ditto.
+       * math/tanq.c: Ditto.
+       * math/expq.c: Ditto.
+       (__expq_table, expq): Renamed local array from __expl_table.
+       * math/cosq_kernel.c (__quadmath_kernel_cosq): Fix sign handling.
+       * math/cacoshq.c: Changes from GLIBC; fix returned sign.
+       * math/casinhq.c: Changes from GLIBC to fix special-case.
+       * math/cbrtq.c: Use modified GLIBC version.
+       * math/complex.c (ccoshd, cexpq, clog10q, clogq, csinhq, csinq,
+       ctanhq, ctanq): Moved to separates files.
+       (mult_c128, div_c128): Removed no longer needed functions.
+       (cexpiq): Call sincosq instead of sinq and cosq.
+       (cosq): Call cosh(-re,im) instead of cosq/sinq/sinh/cosh.
+       * math/ccoshq.c (ccoshq): New file, moved from complex.c and
+       modified based on GLIBC.
+       * math/cexpq.c (cexp): Ditto.
+       * math/clog10q.c (clog10q): Ditto.
+       * math/clogq.c (clogq): Ditto.
+       * math/csinhq.c: Ditto.
+       * math/csinq.c: Ditto.
+       * math/csqrtq.c: Ditto.
+       * math/ctanhq.c: Ditto.
+       * math/ctanq.c: Ditto.
+       * math/fmaq.c (fmaq): Port TININESS_AFTER_ROUNDING handling
+       from GLIBC.
+       * math/ilogbq.c (ilogbq): Add errno = EDOM handling.
+       * math/isinf_nsq.c (__quadmath_isinf_nsq): New file, ported
+       from GLIBC.
+       * math/lgammaq.c (lgammaq): Add signgam handling.
+       * math/sinhq.c (sinhq): Fix sign handling.
+       * math/sinq_kernel.c (__quadmath_kernel_sinq): Ditto.
+       * math/tgammaq.c (tgammaq): Ditto.
+       * math/x2y2m1q.c: New file.
+       * quadmath-imp.h (TININESS_AFTER_ROUNDING): New define.
+       (__quadmath_x2y2m1q, __quadmath_isinf_nsq): New prototypes.
+
+2012-10-31  Tobias Burnus  <burnus@net-b.de>
+           Joseph Myers <joseph@codesourcery.com>
+           David S. Miller <davem@davemloft.net>
+           Ulrich Drepper <drepper@redhat.com>
+           Marek Polacek <polacek@redhat.com>:
+           Petr Baudis <pasky@suse.cz>
+
+       * math/complex.c (csqrtq): NaN and INF fixes. 
+       * math/sqrtq.c (sqrt): NaN, INF and < 0 fixes.
+       * math/expm1q.c (expm1q): Changes from GLIBC. Use expq for
+       large parameters. Fix errno for boundary conditions.
+       * math/finiteq.c (finiteq): Add comment.
+       * math/fmaq.c (fmaq): Changes from GLIBC. Fix missing underflows
+       and bad results for some subnormal results. Fix sign of inexact
+       zero return. Fix sign of exact zero return. 
+       Ensure additions are not scheduled after fetestexcept.
+       * math/jnq.c (jnq): Changes from GLIBC. Set up errno properly
+       for ynq. Fix jnq precision.
+       * math/nearbyintq.c (nearbyintq): Changes from GLIBC. Do not
+       manipulate bits before adding and subtracting TWO112[sx].
+       * math/rintq.c (rintq): Ditto.
+       * math/scalbnq.c (scalbnq): Changes from GLIBC. Fix integer
+       overflow.
+
+2012-09-14  David Edelsohn  <dje.gcc@gmail.com>
+
+       * configure: Regenerated.
+
+2012-05-29  Benjamin Kosnik  <bkoz@redhat.com>
+
+       PR libstdc++/51007
+       * configure.ac: Allow gnu, gnu* variants for --enable-symvers argument.
+       * configure: Regenerated.
+
+2012-05-16  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * configure: Regenerated.
+
+2011-11-21  Andreas Tobler  <andreast@fgznet.ch>
+
+       * configure: Regenerate.
+
+2011-11-07  Kai Tietz  <ktietz@redhat.com>
+
+       PR target/51007
+       * quadmath-imp.h (ieee854_float128): Adjust
+       for ms-bitfield layout.
+
+2011-11-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * printf/gmp-impl.h: Adapt path to longlong.h.
+
+2011-09-21  Joseph Myers  <joseph@codesourcery.com>
+
+       * Makefile.am (FLAGS_TO_PASS): Define.
+       * Makefile.in: Regenerate.
+
+2011-08-01  Jakub Jelinek  <jakub@redhat.com>
+
+       * math/rem_pio2q.c (__quadmath_kernel_rem_pio2): Fix up fq to y
+       conversion for prec 3 and __FLT_EVAL_METHOD__ != 0.
+
+2011-04-03  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/48311
+       * libquadmath.texi (strtoflt128): Fix typo.
+       (quadmath_snprintf): Move note up, make @item.
+
+2011-03-25  Jakub Jelinek  <jakub@redhat.com>
+
+       * printf/printf_fp.c (__quadmath_printf_fp): Use memcpy instead of
+       mempcpy.
+
+2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       PR bootstrap/48135
+       * configure.ac (quadmath_use_symver): Handle --disable-symvers.
+       * configure: Regenerate.
+
+2011-02-28  Jakub Jelinek  <jakub@redhat.com>
+
+       * printf/quadmath-printf.c (quadmath_snprintf): Make sure
+       that for size > 0 str is always zero terminated.
+
+2011-02-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR bootstrap/47827
+       * printf/quadmath-printf.h (NAN): Redefine to __builtin_nanf ("").
+
+2011-02-17  Jakub Jelinek  <jakub@redhat.com>
+
+       * libquadmath.texi (FLT128_DIG, FLT128_MIN_10_EXP,
+       FLT128_MAX_10_EXP): Document.
+       (strtoflt128): Remove obsolete comment.
+       * configure.ac (HAVE_STRTOULL): New check.
+       * printf/gmp-impl.h (mpn_construct_float128): New prototype,
+       define.
+       * printf/mul_n.c: Include <config.h>.
+       * printf/add_n.c: Likewise.
+       * printf/cmp.c: Likewise.
+       * printf/fpioconst.c: Likewise.
+       * printf/mul_1.c: Likewise.
+       * printf/rshift.c: Likewise.
+       * printf/lshift.c: Likewise.
+       * printf/submul_1.c: Likewise.
+       * printf/sub_n.c: Likewise.
+       * printf/divrem.c: Likewise.
+       * printf/addmul_1.c: Likewise.
+       * printf/mul.c: Likewise.
+       * printf/quadmath-printf.h (isupper, isdigit, tolower): Change
+       to avoid evaluating argument multiple times.
+       (isxdigit): Redefine.
+       * strtod/strtoflt128.c: New file.
+       * strtod/strtod_l.c: New file.
+       * strtod/mpn2flt128.c: New file.
+       * strtod/grouping.h: New file.
+       * strtod/tens_in_limb.c: New file.
+       * gdtoa/arith.h: Removed.
+       * gdtoa/gd_qnan.h: Removed.
+       * gdtoa/gdtoa_fltrnds.h: Removed.
+       * gdtoa/gdtoa.h: Removed.
+       * gdtoa/gdtoaimp.h: Removed.
+       * gdtoa/gethex.c: Removed.
+       * gdtoa/gmisc.c: Removed.
+       * gdtoa/hd_init.c: Removed.
+       * gdtoa/hexnan.c: Removed.
+       * gdtoa/makefile: Removed.
+       * gdtoa/misc.c: Removed.
+       * gdtoa/README.gdtoa: Removed.
+       * gdtoa/smisc.c: Removed.
+       * gdtoa/strtodg.c: Removed.
+       * gdtoa/strtopQ.c: Removed.
+       * gdtoa/sum.c: Removed.
+       * quadmath.h (FLT128_DIG, FLT128_MIN_10_EXP, FLT128_MAX_10_EXP):
+       Define.
+       * Makefile.am (libquadmath_la_SOURCES): Remove gdtoa/*, add
+       strtod/strtoflt128.c, strtod/mpn2flt128.c and strtod/tens_in_limb.c.
+       * config.h.in: Regenerated.
+       * configure: Regenerated.
+       * Makefile.in: Regenerated.
+
+2011-02-16  Jakub Jelinek  <jakub@redhat.com>
+
+       * printf/quadmath-printf.c: Also check __GLIBC__ when checking
+       whether workarounds for printf hook handling should be added.
+
+       * configure.ac: Check for locale.h too.
+       (USE_LOCALE_SUPPORT): Remove check.
+       (USE_NL_LANGINFO, USE_NL_LANGINFO_WC, USE_LOCALECONV): New checks.
+       (USE_I18_NUMBER_H): Check also for _NL_CTYPE_MB_CUR_MAX.
+       * printf/printf_fphex.c (__quadmath_printf_fphex): Use nl_langinfo
+       or localeconv for narrow version and nl_langinfo if USE_NL_LANGINFO_WC
+       for wide version.
+       * printf/quadmath-printf.h: Include locale.h if HAVE_LOCALE_H.
+       * printf/printf_fp.c (USE_I18N_NUMBER_H): Don't define to 0.
+       (__quadmath_printf_fp): Use nl_langinfo or localeconv for narrow
+       version and nl_langinfo if USE_NL_LANGINFO_WC for wide version.
+       Guard nl_langinfo (_NL_CTYPE_MB_CUR_MAX) use with
+       USE_I18N_NUMBER_H #ifdef.
+       * configure: Regenerated.
+       * config.h.in: Regenerated.
+
 2011-02-14  Jakub Jelinek  <jakub@redhat.com>
 
+       PR bootstrap/47736
+       * configure.ac (HAVE_PRINTF_HOOKS): Test if printf_info struct has
+       user field.
+       * printf/quadmath-printf.c (quadmath_snprintf): Clear whole info
+       field instead of setting individual fields to 0.  Don't set info.user
+       to -1.
+       * configure: Regenerated.
+
+       * configure.ac (HAVE_HIDDEN_VISIBILITY): Test with -Werror in CFLAGS.
+       * printf/printf_fp.c: Don't include <alloca.h>.
+       * printf/quadmath-printf.h (_itoa): Redefine to __quadmath_itoa.
+       * configure: Regenerated.
+
        PR fortran/47642
        * libquadmath.texi (quadmath_snprintf): Document.
        (quadmath_flt128tostr): Remove.