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

--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-10 branch has been updated by Mark Eggleston
<markeggles...@gcc.gnu.org>:

https://gcc.gnu.org/g:8323d09e82345a1ca39f6630cdd22ccf4ef38a84

commit r10-8679-g8323d09e82345a1ca39f6630cdd22ccf4ef38a84
Author: Mark Eggleston <markeggles...@gcc.gnu.org>
Date:   Fri Aug 21 06:39:30 2020 +0100

    Fortran  : ICE for division by zero in declaration PR95882

    A length expression containing a divide by zero in a character
    declaration will result in an ICE if the constant is anymore
    complicated that a contant divided by a constant.

    The cause was that char_len_param_value can return MATCH_YES
    even if a divide by zero was seen.  Prior to returning check
    whether a divide by zero was seen and if so set it to MATCH_ERROR.

    2020-08-27  Mark Eggleston  <markeggles...@gcc.gnu.org>

    gcc/fortran

            PR fortran/95882
            * decl.c (char_len_param_value): Check gfc_seen_div0 and
            if it is set return MATCH_ERROR.

    2020-08-27  Mark Eggleston  <markeggles...@gcc.gnu.org>

    gcc/testsuite/

            PR fortran/95882
            * gfortran.dg/pr95882_1.f90: New test.
            * gfortran.dg/pr95882_2.f90: New test.
            * gfortran.dg/pr95882_3.f90: New test.
            * gfortran.dg/pr95882_4.f90: New test.
            * gfortran.dg/pr95882_5.f90: New test.

    (cherry picked from commit c336eda750d4e7a0827fedf995da955d6d88d5ca)

Reply via email to