PR fortran/99205 - Out of memory with undefined character length
authorHarald Anlauf <anlauf@gmx.de>
Wed, 10 Mar 2021 21:59:50 +0000 (22:59 +0100)
committerHarald Anlauf <anlauf@gmx.de>
Wed, 10 Mar 2021 21:59:50 +0000 (22:59 +0100)
commit8c21bc6646dbe3365d7f89843a79eee823aa3b52
tree39cc3351739b8c884008f93f3fcc2fc352c7bd6e
parentd38bbb85117a9947797f10d459fe0c23ea479313
PR fortran/99205 - Out of memory with undefined character length

A character variable appearing as a data statement object cannot
be automatic, thus it shall have constant length.

gcc/fortran/ChangeLog:

PR fortran/99205
* data.c (gfc_assign_data_value): Reject non-constant character
length for lvalue.
* trans-array.c (gfc_conv_array_initializer): Restrict loop to
elements which are defined to avoid NULL pointer dereference.

gcc/testsuite/ChangeLog:

PR fortran/99205
* gfortran.dg/data_char_4.f90: New test.
* gfortran.dg/data_char_5.f90: New test.
gcc/fortran/data.c
gcc/fortran/trans-array.c
gcc/testsuite/gfortran.dg/data_char_4.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/data_char_5.f90 [new file with mode: 0644]