]> gcc.gnu.org Git - gcc.git/commit
re PR fortran/32049 (Support on x86_64 also kind=16)
authorFrancois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Tue, 16 Nov 2010 21:23:19 +0000 (21:23 +0000)
committerTobias Burnus <burnus@gcc.gnu.org>
Tue, 16 Nov 2010 21:23:19 +0000 (22:23 +0100)
commit1ec601bf9fb0fbc39b3a6cb90450500f857adae8
treee26ad385cfada5f1f2c55f92057a0259de8b98d2
parent07078664fd6fdcb046cee4adf01ee697e56fcbd3
re PR fortran/32049 (Support on x86_64 also kind=16)

/
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
150 files changed:
ChangeLog
Makefile.def
Makefile.in
Makefile.tpl
configure
configure.ac
gcc/fortran/ChangeLog
gcc/fortran/gfortranspec.c
gcc/fortran/trans-io.c
gcc/fortran/trans-types.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/quad_1.f90 [new file with mode: 0644]
gcc/testsuite/lib/gcc-defs.exp
gcc/testsuite/lib/gfortran.exp
libgfortran/ChangeLog
libgfortran/Makefile.am
libgfortran/Makefile.in
libgfortran/acinclude.m4
libgfortran/config.h.in
libgfortran/configure
libgfortran/configure.ac
libgfortran/generated/bessel_r10.c
libgfortran/generated/bessel_r16.c
libgfortran/generated/bessel_r4.c
libgfortran/generated/bessel_r8.c
libgfortran/generated/exponent_r16.c
libgfortran/generated/fraction_r16.c
libgfortran/generated/nearest_r16.c
libgfortran/generated/norm2_r10.c
libgfortran/generated/norm2_r16.c
libgfortran/generated/norm2_r4.c
libgfortran/generated/norm2_r8.c
libgfortran/generated/pow_r16_i4.c [new file with mode: 0644]
libgfortran/generated/rrspacing_r16.c
libgfortran/generated/set_exponent_r16.c
libgfortran/generated/spacing_r16.c
libgfortran/gfortran.map
libgfortran/intrinsics/cshift0.c
libgfortran/intrinsics/erfc_scaled_inc.c
libgfortran/intrinsics/pack_generic.c
libgfortran/intrinsics/spread_generic.c
libgfortran/intrinsics/unpack_generic.c
libgfortran/io/read.c
libgfortran/io/transfer.c
libgfortran/io/transfer128.c [new file with mode: 0644]
libgfortran/io/write.c
libgfortran/io/write_float.def
libgfortran/kinds-override.h [new file with mode: 0644]
libgfortran/libgfortran.h
libgfortran/libgfortran.spec.in [new file with mode: 0644]
libgfortran/m4/mtype.m4
libgfortran/mk-kinds-h.sh
libgfortran/runtime/in_pack_generic.c
libgfortran/runtime/in_unpack_generic.c
libgomp/ChangeLog
libgomp/configure
libgomp/configure.ac
libquadmath/COPYING.LIB [new file with mode: 0644]
libquadmath/ChangeLog [new file with mode: 0644]
libquadmath/Makefile.am [new file with mode: 0644]
libquadmath/Makefile.in [new file with mode: 0644]
libquadmath/acinclude.m4 [new file with mode: 0644]
libquadmath/aclocal.m4 [new file with mode: 0644]
libquadmath/config.h.in [new file with mode: 0644]
libquadmath/configure [new file with mode: 0644]
libquadmath/configure.ac [new file with mode: 0644]
libquadmath/gdtoa/README.gdtoa [new file with mode: 0644]
libquadmath/gdtoa/arith.h [new file with mode: 0644]
libquadmath/gdtoa/dmisc.c [new file with mode: 0644]
libquadmath/gdtoa/g_Qfmt.c [new file with mode: 0644]
libquadmath/gdtoa/g__fmt.c [new file with mode: 0644]
libquadmath/gdtoa/gd_qnan.h [new file with mode: 0644]
libquadmath/gdtoa/gdtoa.c [new file with mode: 0644]
libquadmath/gdtoa/gdtoa.h [new file with mode: 0644]
libquadmath/gdtoa/gdtoa_fltrnds.h [new file with mode: 0644]
libquadmath/gdtoa/gdtoaimp.h [new file with mode: 0644]
libquadmath/gdtoa/gethex.c [new file with mode: 0644]
libquadmath/gdtoa/gmisc.c [new file with mode: 0644]
libquadmath/gdtoa/hd_init.c [new file with mode: 0644]
libquadmath/gdtoa/hexnan.c [new file with mode: 0644]
libquadmath/gdtoa/makefile [new file with mode: 0644]
libquadmath/gdtoa/misc.c [new file with mode: 0644]
libquadmath/gdtoa/smisc.c [new file with mode: 0644]
libquadmath/gdtoa/strtodg.c [new file with mode: 0644]
libquadmath/gdtoa/strtopQ.c [new file with mode: 0644]
libquadmath/gdtoa/sum.c [new file with mode: 0644]
libquadmath/gdtoa/ulp.c [new file with mode: 0644]
libquadmath/libtool-version [new file with mode: 0644]
libquadmath/math/acoshq.c [new file with mode: 0644]
libquadmath/math/acosq.c [new file with mode: 0644]
libquadmath/math/asinhq.c [new file with mode: 0644]
libquadmath/math/asinq.c [new file with mode: 0644]
libquadmath/math/atan2q.c [new file with mode: 0644]
libquadmath/math/atanhq.c [new file with mode: 0644]
libquadmath/math/atanq.c [new file with mode: 0644]
libquadmath/math/cbrtq.c [new file with mode: 0644]
libquadmath/math/ceilq.c [new file with mode: 0644]
libquadmath/math/complex.c [new file with mode: 0644]
libquadmath/math/copysignq.c [new file with mode: 0644]
libquadmath/math/coshq.c [new file with mode: 0644]
libquadmath/math/cosq.c [new file with mode: 0644]
libquadmath/math/cosq_kernel.c [new file with mode: 0644]
libquadmath/math/erfq.c [new file with mode: 0644]
libquadmath/math/expm1q.c [new file with mode: 0644]
libquadmath/math/expq.c [new file with mode: 0644]
libquadmath/math/fabsq.c [new file with mode: 0644]
libquadmath/math/finiteq.c [new file with mode: 0644]
libquadmath/math/floorq.c [new file with mode: 0644]
libquadmath/math/fmodq.c [new file with mode: 0644]
libquadmath/math/frexpq.c [new file with mode: 0644]
libquadmath/math/hypotq.c [new file with mode: 0644]
libquadmath/math/isinfq.c [new file with mode: 0644]
libquadmath/math/isnanq.c [new file with mode: 0644]
libquadmath/math/j0q.c [new file with mode: 0644]
libquadmath/math/j1q.c [new file with mode: 0644]
libquadmath/math/jnq.c [new file with mode: 0644]
libquadmath/math/ldexpq.c [new file with mode: 0644]
libquadmath/math/lgammaq.c [new file with mode: 0644]
libquadmath/math/llroundq.c [new file with mode: 0644]
libquadmath/math/log10q.c [new file with mode: 0644]
libquadmath/math/log1pq.c [new file with mode: 0644]
libquadmath/math/logq.c [new file with mode: 0644]
libquadmath/math/lroundq.c [new file with mode: 0644]
libquadmath/math/modfq.c [new file with mode: 0644]
libquadmath/math/nanq.c [new file with mode: 0644]
libquadmath/math/nextafterq.c [new file with mode: 0644]
libquadmath/math/powq.c [new file with mode: 0644]
libquadmath/math/rem_pio2q.c [new file with mode: 0644]
libquadmath/math/remainderq.c [new file with mode: 0644]
libquadmath/math/rintq.c [new file with mode: 0644]
libquadmath/math/roundq.c [new file with mode: 0644]
libquadmath/math/scalblnq.c [new file with mode: 0644]
libquadmath/math/scalbnq.c [new file with mode: 0644]
libquadmath/math/signbitq.c [new file with mode: 0644]
libquadmath/math/sincos_table.c [new file with mode: 0644]
libquadmath/math/sincosq.c [new file with mode: 0644]
libquadmath/math/sincosq_kernel.c [new file with mode: 0644]
libquadmath/math/sinhq.c [new file with mode: 0644]
libquadmath/math/sinq.c [new file with mode: 0644]
libquadmath/math/sinq_kernel.c [new file with mode: 0644]
libquadmath/math/sqrtq.c [new file with mode: 0644]
libquadmath/math/tanhq.c [new file with mode: 0644]
libquadmath/math/tanq.c [new file with mode: 0644]
libquadmath/math/tgammaq.c [new file with mode: 0644]
libquadmath/math/truncq.c [new file with mode: 0644]
libquadmath/quadmath-imp.h [new file with mode: 0644]
libquadmath/quadmath.h [new file with mode: 0644]
libquadmath/quadmath.map [new file with mode: 0644]
libquadmath/quadmath_io.c [new file with mode: 0644]
libquadmath/quadmath_weak.h [new file with mode: 0644]
This page took 0.122564 seconds and 5 git commands to generate.