diff options
author | Harald Anlauf <anlauf@gmx.de> | 2022-01-17 22:52:08 +0100 |
---|---|---|
committer | Harald Anlauf <anlauf@gmx.de> | 2022-01-18 20:02:11 +0100 |
commit | 0d01a2722671bef37b931fd1f121e44b27e68268 (patch) | |
tree | 96bb7bb0c4e74c050bdafe7d79214c97ba286054 /gcc/fortran | |
parent | 7ca21601704c4a637f3cefa7c8814920782354d8 (diff) | |
download | gcc-0d01a2722671bef37b931fd1f121e44b27e68268.zip gcc-0d01a2722671bef37b931fd1f121e44b27e68268.tar.gz gcc-0d01a2722671bef37b931fd1f121e44b27e68268.tar.bz2 |
Fortran: handle expansion of zero-sized array constructors
gcc/fortran/ChangeLog:
PR fortran/103692
* array.cc (gfc_expand_constructor): Handle zero-sized array
constructors.
gcc/testsuite/ChangeLog:
PR fortran/103692
* gfortran.dg/pr102520.f90: Adjust error messages.
* gfortran.dg/pr103692.f90: New test.
Diffstat (limited to 'gcc/fortran')
-rw-r--r-- | gcc/fortran/array.cc | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/fortran/array.cc b/gcc/fortran/array.cc index 4723043..f1d92e0 100644 --- a/gcc/fortran/array.cc +++ b/gcc/fortran/array.cc @@ -1883,6 +1883,9 @@ gfc_expand_constructor (gfc_expr *e, bool fatal) gfc_expr *f; bool rc; + if (gfc_is_size_zero_array (e)) + return true; + /* If we can successfully get an array element at the max array size then the array is too big to expand, so we just return. */ f = gfc_get_array_element (e, flag_max_array_constructor); |