1. 06 Feb, 2013 1 commit
  2. 03 Feb, 2013 1 commit
  3. 14 Feb, 2011 1 commit
    • re PR fortran/47642 (real(kind=16) - libquadmath - segfault on amd64 FreeBSD) · 1d92226b
      	PR fortran/47642
      	* libquadmath.texi (quadmath_snprintf): Document.
      	(quadmath_flt128tostr): Remove.
      	* Makefile.am (libquadmath_la_SOURCES): Add printf/*.c.
      	Remove  quadmath_io.c, gdtoa/gdtoa.c, gdtoa/g__fmt.c,
      	gdtoa/g_Qfmt.c, gdtoa/dmisc.c and gdtoa/ulp.c.
      	* quadmath.h (quadmath_snprintf): New prototype.
      	(quadmath_flt128tostr): Remove.
      	* quadmath_weak.h (quadmath_snprintf): Add.
      	(quadmath_flt128tostr): Remove.
      	* configure.ac: New AC_CHECK_HEADERS headers: langinfo.h, wchar.h,
      	wctype.h, limits.h, ctype.h, printf.h, errno.h.
      	(AC_USE_SYSTEM_EXTENSIONS): Add.
      	(HAVE_HIDDEN_VISIBILITY, HAVE_PRINTF_HOOKS,
      	USE_LOCALE_SUPPORT, USE_I18N_NUMBER_H): New checks.
      	* quadmath.map (QUADMATH_1.0): Add quadmath_snprintf.  Remove
      	quadmath_flt128tostr.
      	* printf/printf_fphex.c: New file.
      	* printf/_itowa.h: New file.
      	* printf/mul_n.c: New file.
      	* printf/quadmath-printf.h: New file.
      	* printf/submul_1.c: New file.
      	* printf/quadmath-printf.c: New file.
      	* printf/gmp-impl.h: New file.
      	* printf/lshift.c: New file.
      	* printf/fpioconst.h: New file.
      	* printf/add_n.c: New file.
      	* printf/cmp.c: New file.
      	* printf/sub_n.c: New file.
      	* printf/mul.c: New file.
      	* printf/divrem.c: New file.
      	* printf/addmul_1.c: New file.
      	* printf/printf_fp.c: New file.
      	* printf/_itoa.h: New file.
      	* printf/fpioconst.c: New file.
      	* printf/_i18n_number.h: New file.
      	* printf/flt1282mpn.c: New file.
      	* printf/rshift.c: New file.
      	* printf/mul_1.c: New file.
      	* quadmath_io.c: Removed.
      	* gdtoa/gdtoa.c: Removed.
      	* gdtoa/g__fmt.c: Removed.
      	* gdtoa/g_Qfmt.c: Removed.
      	* gdtoa/dmisc.c: Removed.
      	* gdtoa/ulp.c: Removed.
      	* config.h.in: Regenerated.
      	* configure: Regenerated.
      	* Makefile.in: Regenerated.
      
      	* io/write_float.def (DTOAQ): Use quadmath_snprintf instead of
      	quadmath_flt128tostr.
      	* io/transfer128.c (tmp2): Initialize to quadmath_snprintf instead
      	of quadmath_flt128tostr.
      
      From-SVN: r170135
      Jakub Jelinek committed
  4. 17 Jan, 2011 1 commit
  5. 16 Jan, 2011 4 commits
    • re PR fortran/46625 (libquadmath: Mangle internal symbols; rename __float128 <-> string functions) · e313241f
      	PR fortran/46625
      	* quadmath.map (QUADMATH_1.0): Remove quadmath_strtopQ
      	and quadmath_dtoaq.  Add strtoflt128 and quadmath_flt128tostr.
      	* quadmath_weak.h (quadmath_strtopQ, quadmath_dtoaq): Remove.
      	(strtoflt128, quadmath_flt128tostr): Add.
      	* gdtoa/strtopQ.c (quadmath_strtopQ): Rename to...
      	(strtoflt128): ... this.  Return __float128, instead of writing
      	to memory pointed by last argument.
      	* quadmath.h: Use C style comments instead of C++ style.
      	(quadmath_strtopQ, quadmath_dtoaq): Remove prototypes.
      	(strtoflt128, quadmath_flt128tostr): Add prototypes.
      	* libquadmath.texi (quadmath_dtoaq): Rename to quadmath_flt128tostr.
      	(quadmath_strtopQ): Rename to strtoflt128.  Adjust prototype,
      	adjust examples.
      	* quadmath_io.c (quadmath_dtoaq): Rename to...
      	(quadmath_flt128tostr): ... this.
      libgfortran/
      	* io/write_float.def (DTOAQ): Use quadmath_flt128tostr
      	instead of quadmath_dtoa.
      	* io/transfer128.c (tmp1, tmp2): New variables, bring in
      	strtoflt128 and quadmath_flt128tostr.
      	(transfer_real128, transfer_real128_write, transfer_complex128,
      	transfer_complex128_write): Remove tmp1/tmp2 variables.
      	* io/read.c (convert_real): Use strtoflt128 instead of
      	quadmath_strtopQ, adjust for the changed arguments and return
      	value.
      
      From-SVN: r168856
      Jakub Jelinek committed
    • re PR fortran/46416 (libquadmath: missing functions) · dbc9f6c6
      	PR fortran/46416
      	* quadmath.h (cbrtq, finiteq, isnanq, signbitq, sqrtq): Remove
      	const from prototype argument.
      	(cimagq, conjq, cprojq, crealq, fdimq, fmaxq, fminq, ilogbq,
      	llrintq, log2q, lrintq, nearbyintq, remquoq): New prototypes.
      	(__quadmath_extern_inline): Define.
      	(cimagq, conjq, crealq): New inlines.
      	* Makefile.am (libquadmath_la_SOURCES): Add math/cimagq.c,
      	math/conjq.c, math/cprojq.c, math/crealq.c, math/fdimq.c,
      	math/fmaxq.c, math/fminq.c, math/ilogbq.c, math/llrintq.c,
      	math/log2q.c, math/lrintq.c, math/nearbyintq.c and math/remquoq.c.
      	* Makefile.in: Regenerated.
      	* quadmath_weak.h (cimagq, conjq, cprojq, crealq, fdimq, fmaxq,
      	fminq, ilogbq, llrintq, log2q, lrintq, nearbyintq, remquoq): Add.
      	* quadmath-imp.h (__LITTLE_ENDIAN__): Don't define.
      	(ieee854_float128): Use __BYTE_ORDER == __ORDER_BIG_ENDIAN__
      	tests instead of __BIG_ENDIAN__.
      	* quadmath.map (QUADMATH_1.0): Add cimagq, conjq, cprojq, crealq,
      	fdimq, fmaxq, fminq, ilogbq, llrintq, log2q, lrintq, nearbyintq
      	and remquoq.
      	* libquadmath.texi (cimagq, conjq, cprojq, crealq, fdimq, fmaxq,
      	fminq, ilogbq, llrintq, log2q, lrintq, nearbyintq, remquoq): Add.
      	* math/cprojq.c: New file.
      	* math/ilogbq.c: New file.
      	* math/fminq.c: New file.
      	* math/llrintq.c: New file.
      	* math/log2q.c: New file.
      	* math/lrintq.c: New file.
      	* math/crealq.c: New file.
      	* math/nearbyintq.c: New file.
      	* math/fmaxq.c: New file.
      	* math/conjq.c: New file.
      	* math/remquoq.c: New file.
      	* math/cimagq.c: New file.
      	* math/fdimq.c: New file.
      
      	* math/ldexpq.c: Include errno.h.  Set errno to ERANGE if needed.
      
      From-SVN: r168854
      Jakub Jelinek committed
    • re PR fortran/46416 (libquadmath: missing functions) · fa23b182
      	PR fortran/46416
      	* quadmath.h (cacosq, cacoshq, casinq, casinhq, catanq, catanhq):
      	New prototypes.
      	(M_Eq, M_LOG2Eq, M_LOG10Eq, M_LN2q, M_LN10q, M_PIq, M_PI_2q, M_PI_4q,
      	M_1_PIq, M_2_PIq, M_2_SQRTPIq, M_SQRT2q, M_SQRT1_2q): Define.
      	* quadmath_weak.h (cacosq, cacoshq, casinq, casinhq, catanq,
      	catanhq): Add.
      	* quadmath-imp.h (fpclassifyq, QUADFP_NAN, QUADFP_INFINITE,
      	QUADFP_ZERO, QUADFP_SUBNORMAL, QUADFP_NORMAL): Define.
      	* quadmath.map (QUADMATH_1.0): Add cacosq, cacoshq, casinq, casinhq,
      	catanq and catanhq.
      	* Makefile.am (libquadmath_la_SOURCES): Add math/cacosq.c,
      	math/cacoshq.c, math/casinq.c, math/casinhq.c, math/catanq.c
      	and math/catanhq.c.
      	* Makefile.in: Regenerated.
      	* libquadmath.texi (cacosq, cacoshq, casinq, casinhq,
      	catanq, catanhq): Add.
      	* math/cacoshq.c: New file.
      	* math/cacosq.c: New file.
      	* math/catanq.c: New file.
      	* math/catanhq.c: New file.
      	* math/casinq.c: New file.
      	* math/casinhq.c: New file.
      
      	* math/hypotq.c (hypotq): Use Q suffix instead of L.
      	* math/atan2q.c (tiny, pi_o_4, pi_o_2, pi, pi_lo, atan2q): Likewise.
      	* math/cosq.c (cosq): Likewise.
      
      From-SVN: r168853
      Jakub Jelinek committed
    • re PR fortran/46402 (libquadmath: Add fmalq) · e8d42d28
      	PR fortran/46402
      	* quadmath.map (QUADMATH_1.0): Add fmaq.
      	* configure.ac: Check for fenv.h, feholdexcept, fesetround,
      	feupdateenv, fesetenv and fetestexcept.
      	* configure: Regenerated.
      	* config.h.in: Regenerated.
      	* quadmath.h (fmaq): New prototype.
      	* quadmath_weak.h (fmaq): Add.
      	* Makefile.am (libquadmath_la_SOURCES): Add math/fmaq.c.
      	* Makefile.in: Regenerated.
      	* quadmath-imp.h: Include config.h.
      	* math/expq.c: Include fenv.h.
      	(USE_FENV_H): Define if libm support for fe* is there.
      	(expq): Add fesetround etc. support if USE_FENV_H is defined.
      	* math/fmaq.c: New file.
      	* libquadmath.texi (fmaq): Add.
      
      From-SVN: r168852
      Jakub Jelinek committed
  6. 06 Dec, 2010 1 commit
  7. 16 Nov, 2010 1 commit
    • re PR fortran/32049 (Support on x86_64 also kind=16) · 1ec601bf
      /
      2010-11-13  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
                  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/32049
              * Makefile.def: Add libquadmath; build it with language=fortran.
              * configure.ac: Add libquadmath.
              * Makefile.tpl: Handle multiple libs in check-[+language+].
              * Makefile.in: Regenerate.
              * configure: Regenerate.
      
      libquadmath/
      2010-11-13  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
                  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/32049
              Initial implementation and checkin.
      
      gcc/fortran/
      2010-11-13  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
                  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/32049
              * gfortranspec.c (find_spec_file): New function.
              (lang_specific_driver): Try to find .spec file and use it.
              * trans-io.c (iocall): Define
              * IOCALL_X_REAL128/COMPLEX128(,write).
              (gfc_build_io_library_fndecls): Build decl for __float128 I/O.
              (transfer_expr): Call __float128 I/O functions.
              * trans-types.c (gfc_init_kinds): Allow kind-16 belonging
              to __float128.
      
      gcc/testsuite/
      2010-11-13  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
                  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/32049
              * gfortran.dg/quad_1.f90: New.
              * lib/gcc-defs.exp (gcc-set-multilib-library-path): Use also
              compiler arguments.
              * lib/gfortran.exp (gfortran_link_flags): Add libquadmath to
              library search path; call gcc-set-multilib-library-path with
              arguments such that libgfortran.spec is found.
              (gfortran_init): Add path for libgfortran.spec to
      GFORTRAN_UNDER_TEST.
      
      libgomp/
      2010-11-13  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
                  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/32049
              * configure.ac: 
              * configure: Regenerate.
      
      libgfortran/
      2010-11-13  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
                  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/32049
              * Makefile.am: Add missing pow_r16_i4.c, add transfer128.c,
              link libquadmath, if used.
              * acinclude.m4 (LIBGFOR_CHECK_FLOAT128): Add.
              * configure.ac: Use it, touch spec file.
              * gfortran.map: Add pow_r16_i4 and
              transfer_(real,complex)128(,write) functions.
              * intrinsics/cshift0.c (cshift0): Handle __float128 type.
              * intrinsics/erfc_scaled_inc.c: Ditto.
              * intrinsics/pack_generic.c (pack): Ditto
              * intrinsics/spread_generic.c (spread): Ditto.
              * intrinsics/unpack_generic.c (unpack1): Ditto.
              * io/read.c (convert_real): Ditto.
              * io/transfer.c: Update comments.
              * io/transfer128.c: New file.
              * io/write_float.def (write_float): Handle __float128 type.
              * libgfortran.h: #include quadmath_weak.h, define __builtin_infq
              and nanq.
              * m4/mtype.m4: Handle __float128 type.
              * runtime/in_pack_generic.c (internal_pack): Ditto.
              * runtime/in_unpack_generic.c (internal_unpack): Ditto.
              * kinds-override.h: New file.
              * libgfortran.spec.in: Ditto.
              * generated/pow_r16_i4.c: Generated.
              * Makefile.in: Regenerate.
              * configure: Regenerate.
              * config.h: Regenerate.
              * bessel_r10.c: Regenerate.
              * bessel_r16.c: Regenerate.
              * bessel_r4.c: Regenerate.
              * bessel_r8.c: Regenerate.
              * exponent_r16.c: Regenerate.
              * fraction_r16.c: Regenerate.
              * nearest_r16.c: Regenerate.
              * norm2_r10.c: Regenerate.
              * norm2_r16.c: Regenerate.
              * norm2_r4.c: Regenerate.
              * norm2_r8.c: Regenerate.
              * rrspacing_r16.c: Regenerate.
              * set_exponent_r16.c: Regenerate.
              * spacing_r16.c: Regenerate.
      
      
      Co-Authored-By: Tobias Burnus <burnus@net-b.de>
      
      From-SVN: r166825
      Francois-Xavier Coudert committed