http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32049

--- Comment #11 from Tobias Burnus <burnus at gcc dot gnu.org> 2010-11-16 
21:23:28 UTC ---
Author: burnus
Date: Tue Nov 16 21:23:19 2010
New Revision: 166825

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=166825
Log:
/
2010-11-13  Francois-Xavier Coudert  <fxcoud...@gcc.gnu.org>
            Tobias Burnus  <bur...@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  <fxcoud...@gcc.gnu.org>
            Tobias Burnus  <bur...@net-b.de>

        PR fortran/32049
        Initial implementation and checkin.

gcc/fortran/
2010-11-13  Francois-Xavier Coudert  <fxcoud...@gcc.gnu.org>
            Tobias Burnus  <bur...@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  <fxcoud...@gcc.gnu.org>
            Tobias Burnus  <bur...@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  <fxcoud...@gcc.gnu.org>
            Tobias Burnus  <bur...@net-b.de>

        PR fortran/32049
        * configure.ac: 
        * configure: Regenerate.

libgfortran/
2010-11-13  Francois-Xavier Coudert  <fxcoud...@gcc.gnu.org>
            Tobias Burnus  <bur...@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.


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

Reply via email to