https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115788

--- Comment #4 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Harald Anlauf <anl...@gcc.gnu.org>:

https://gcc.gnu.org/g:f8eda60e12dabaf5e9501104781ef5eba334cff7

commit r15-6837-gf8eda60e12dabaf5e9501104781ef5eba334cff7
Author: Harald Anlauf <anl...@gmx.de>
Date:   Sun Jan 12 19:26:35 2025 +0100

    Fortran: implement F2018 intrinsic OUT_OF_RANGE [PR115788]

    Implementation of the Fortran 2018 standard intrinsic OUT_OF_RANGE, with
    the GNU Fortran extension to unsigned integers.

    Runtime code is fully inline expanded.

            PR fortran/115788

    gcc/fortran/ChangeLog:

            * check.cc (gfc_check_out_of_range): Check arguments to intrinsic.
            * expr.cc (free_expr0): Fix a memleak with unsigned literals.
            * gfortran.h (enum gfc_isym_id): Define GFC_ISYM_OUT_OF_RANGE.
            * gfortran.texi: Add OUT_OF_RANGE to list of intrinsics supporting
            UNSIGNED.
            * intrinsic.cc (add_functions): Add Fortran prototype.  Break some
            nearby lines with excessive length.
            * intrinsic.h (gfc_check_out_of_range): Add prototypes.
            * intrinsic.texi: Fortran documentation of OUT_OF_RANGE.
            * simplify.cc (gfc_simplify_out_of_range): Compile-time
simplification
            of OUT_OF_RANGE.
            * trans-intrinsic.cc (gfc_conv_intrinsic_out_of_range): Generate
            inline expansion of runtime code for OUT_OF_RANGE.
            (gfc_conv_intrinsic_function): Use it.

    gcc/testsuite/ChangeLog:

            * gfortran.dg/ieee/out_of_range.f90: New test.
            * gfortran.dg/out_of_range_1.f90: New test.
            * gfortran.dg/out_of_range_2.f90: New test.
            * gfortran.dg/out_of_range_3.f90: New test.

Reply via email to