]> git.ipfire.org Git - thirdparty/gcc.git/commit
Fortran : ICE in gfc_conv_array_constructor_expr PR93497
authorMark Eggleston <markeggleston@gcc.gnu.org>
Thu, 7 May 2020 07:29:14 +0000 (08:29 +0100)
committerMark Eggleston <markeggleston@gcc.gnu.org>
Wed, 13 May 2020 14:03:29 +0000 (15:03 +0100)
commitf2b77b928a54784d40faf1d86bd5b63f14756dc5
treee2f2315599d666bb91ca9c0144895a22ac68b6a3
parenta68d4b47a6b5b23a5d7ab3b358f559f41568512f
Fortran  : ICE in gfc_conv_array_constructor_expr PR93497

Invalid expressions, such as those involving array constructors,
used for the length of character types will cause an ICE.

2020-05-11  Mark Eggleston  <markeggleston@gcc.gnu.org>

Backported from master
2020-05-13  Steven G. Kargl  <kargl@gcc.gnu.org>

gcc/fortran/

PR fortran/93497
* decl.c (char_len_param_value): Check whether character
length expression is of type EXPR_OP and if so simplify it.
* resolve.c (resolve_charlen): Reject length if it has a
rank.

2020-05-11  Mark Eggleston  <markeggleston@gcc.gnu.org>

Backported from master
2020-05-13  Mark Eggleston  <markeggleston@gcc.gnu.org>

gcc/testsuite/

PR fortran/93497
* gfortran.dg/pr88025.f90: Change in wording of error.
* gfortran.dg/pr93497.f90: New test.
* gfortran.dg/pr93714_1.f90: Change in wording of errors.
* gfortran.dg/pr93714_2.f90: Change in wording of errors.
gcc/fortran/ChangeLog
gcc/fortran/decl.c
gcc/fortran/resolve.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/pr88025.f90
gcc/testsuite/gfortran.dg/pr93497.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/pr93714_1.f90
gcc/testsuite/gfortran.dg/pr93714_2.f90