[Bug fortran/33197] Fortran 2008: gamma() and other small changes

fxcoudert at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Mon Mar 3 23:47:00 GMT 2008



------- Comment #8 from fxcoudert at gcc dot gnu dot org  2008-03-03 23:46 -------
Subject: Bug 33197

Author: fxcoudert
Date: Mon Mar  3 23:46:20 2008
New Revision: 132846

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=132846
Log:
        PR fortran/33197

gcc/fortran/
        * intrinsic.c (add_functions): Modify intrinsics ACOSH, ASINH,
        ATANH, ERF, ERFC and GAMMA. Add intrinsics BESSEL_{J,Y}{0,1,N},
        ERFC_SCALED, LOG_GAMMA and HYPOT.
        * intrinsic.h (gfc_check_hypot, gfc_simplify_hypot,
        gfc_resolve_hypot): New prototypes.
        * mathbuiltins.def: Add HYPOT builtin. Make complex versions of
        ACOSH, ASINH and ATANH available.
        * gfortran.h (GFC_ISYM_ERFC_SCALED, GFC_ISYM_HYPOT): New values.
        * lang.opt: Add -std=f2008 option.
        * libgfortran.h: Define GFC_STD_F2008.
        * lang-specs.h: Add .f08 and .F08 file suffixes.
        * iresolve.c (gfc_resolve_hypot): New function.
        * parse.c (parse_contained): Allow empty CONTAINS for Fortran 2008.
        * check.c (gfc_check_hypot): New function.
        * trans-intrinsic.c (gfc_intrinsic_map): Define ERFC_SCALE builtin.
        * options.c (set_default_std_flags): Allow Fortran 2008 by default.
        (form_from_filename): Add .f08 suffix.
        (gfc_handle_option): Handle -std=f2008 option.
        * simplify.c (gfc_simplify_hypot): New function.
        * gfortran.texi: Document Fortran 2008 status and file extensions.
        * intrinsic.texi: Document new BESSEL_{J,Y}{0,1,N} intrinsics,
        as well as HYPOT and ERFC_SCALED. Update documentation of ERF,
        ERFC, GAMMA, LGAMMA, ASINH, ACOSH and ATANH.
        * invoke.texi: Document the new -std=f2008 option.

libgomp/
        * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
        .F08 file suffixes.

gcc/testsuite/
        * gfortran.dg/gomp/gomp.exp: Add .f08 and .F08 file suffixes.
        * gfortran.dg/dg.exp: Likewise.
        * gfortran.dg/vect/vect.exp: Likewise.
        * gfortran.fortran-torture/execute/execute.exp: Likewise.
        * gfortran.fortran-torture/compile/compile.exp: Likewise.
        * gfortran.dg/gamma_1.f90: Also check log_gamma.
        * gfortran.dg/invalid_contains_1.f90: Remove warning about
        empty CONTAINS.
        * gfortran.dg/gamma_2.f90: Add a few error messages.
        * gfortran.dg/invalid_contains_2.f90: Remove warning about
        empty CONTAINS.
        * gfortran.dg/gamma_3.f90: Adjust error message.
        * gfortran.dg/gamma_4.f90: Test for log_gamma instead of lgamma.
        * gfortran.dg/bind_c_usage_9.f03: Adjust error messages.
        * gfortran.dg/bessel_1.f90: New test.
        * gfortran.dg/recursive_check_3.f90: Remove warnings.
        * gfortran.dg/besxy.f90: Also check for new F2008 intrinsics.
        * gfortran.dg/derived_function_interface_1.f90: Remove warning.
        * gfortran.dg/contains_empty_1.f03: New test.
        * gfortran.dg/erfc_scaled_1.f90: New test.
        * gfortran.dg/hypot_1.f90: New test.
        * gfortran.dg/contains_empty_2.f03: New test.

libgfortran/
        * intrinsics/erfc_scaled_inc.c: New file.
        * intrinsics/erfc_scaled.c: New file.
        * gfortran.map (GFORTRAN_1.0): Add _gfortran_erfc_scaled_r*.
        * Makefile.am: Add intrinsics/erfc_scaled.c.
        * config.h.in: Regenerate.
        * configure: Regenerate.
        * Makefile.in: Regenerate.

Added:
    trunk/gcc/testsuite/gfortran.dg/bessel_1.f90
    trunk/gcc/testsuite/gfortran.dg/contains_empty_1.f03
    trunk/gcc/testsuite/gfortran.dg/contains_empty_2.f03
    trunk/gcc/testsuite/gfortran.dg/erfc_scaled_1.f90
    trunk/gcc/testsuite/gfortran.dg/hypot_1.f90
    trunk/libgfortran/intrinsics/erfc_scaled.c
    trunk/libgfortran/intrinsics/erfc_scaled_inc.c
Modified:
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/check.c
    trunk/gcc/fortran/gfortran.h
    trunk/gcc/fortran/gfortran.texi
    trunk/gcc/fortran/intrinsic.c
    trunk/gcc/fortran/intrinsic.h
    trunk/gcc/fortran/intrinsic.texi
    trunk/gcc/fortran/invoke.texi
    trunk/gcc/fortran/iresolve.c
    trunk/gcc/fortran/lang-specs.h
    trunk/gcc/fortran/lang.opt
    trunk/gcc/fortran/libgfortran.h
    trunk/gcc/fortran/mathbuiltins.def
    trunk/gcc/fortran/options.c
    trunk/gcc/fortran/parse.c
    trunk/gcc/fortran/simplify.c
    trunk/gcc/fortran/trans-intrinsic.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gfortran.dg/besxy.f90
    trunk/gcc/testsuite/gfortran.dg/bind_c_usage_9.f03
    trunk/gcc/testsuite/gfortran.dg/derived_function_interface_1.f90
    trunk/gcc/testsuite/gfortran.dg/dg.exp
    trunk/gcc/testsuite/gfortran.dg/gamma_1.f90
    trunk/gcc/testsuite/gfortran.dg/gamma_2.f90
    trunk/gcc/testsuite/gfortran.dg/gamma_3.f90
    trunk/gcc/testsuite/gfortran.dg/gamma_4.f90
    trunk/gcc/testsuite/gfortran.dg/gomp/gomp.exp
    trunk/gcc/testsuite/gfortran.dg/invalid_contains_1.f90
    trunk/gcc/testsuite/gfortran.dg/invalid_contains_2.f90
    trunk/gcc/testsuite/gfortran.dg/recursive_check_3.f90
    trunk/gcc/testsuite/gfortran.dg/vect/vect.exp
    trunk/gcc/testsuite/gfortran.fortran-torture/compile/compile.exp
    trunk/gcc/testsuite/gfortran.fortran-torture/execute/execute.exp
    trunk/libgfortran/ChangeLog
    trunk/libgfortran/Makefile.am
    trunk/libgfortran/Makefile.in
    trunk/libgfortran/config.h.in
    trunk/libgfortran/configure
    trunk/libgfortran/gfortran.map
    trunk/libgomp/ChangeLog
    trunk/libgomp/testsuite/libgomp.fortran/fortran.exp


-- 


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



More information about the Gcc-bugs mailing list