diff options
author | Tobias Burnus <burnus@net-b.de> | 2018-10-09 20:03:31 +0200 |
---|---|---|
committer | Tobias Burnus <burnus@gcc.gnu.org> | 2018-10-09 20:03:31 +0200 |
commit | af2d2d135a3374fb8cbd04f027683b0cbb868d88 (patch) | |
tree | 0d24ebdd84ab190810b5ef1a5f53e72b5d9a8fd9 /gcc/fortran/resolve.c | |
parent | 6fd8679fceaed5e2ef131eafe806a6c2cd92395c (diff) | |
download | gcc-af2d2d135a3374fb8cbd04f027683b0cbb868d88.zip gcc-af2d2d135a3374fb8cbd04f027683b0cbb868d88.tar.gz gcc-af2d2d135a3374fb8cbd04f027683b0cbb868d88.tar.bz2 |
re PR fortran/83522 (ICE on allocatable string reference, string(:)(:))
2018-10-09 Tobias Burnus <burnus@net-b.de>
PR fortran/83522
* resolve.c (resolve_ref): Reject nonscalar
substring references.
PR fortran/83522
* gfortran.dg/actual_array_substr_1.f90: Add dg-error,
change to dg-do compile.
* gfortran.dg/actual_array_substr_2.f90: Ditto.
* gfortran.dg/array_initializer_1.f90: Use array
element not size-one section.
* gfortran.dg/array_substring.f90: New.
From-SVN: r264990
Diffstat (limited to 'gcc/fortran/resolve.c')
-rw-r--r-- | gcc/fortran/resolve.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c index 87e65df..4ec881e 100644 --- a/gcc/fortran/resolve.c +++ b/gcc/fortran/resolve.c @@ -5129,6 +5129,13 @@ resolve_ref (gfc_expr *expr) break; case REF_SUBSTRING: + /* F2008, R610 alias F2018, R908. */ + if (current_part_dimension || seen_part_dimension) + { + gfc_error ("Substring reference of nonscalar not permitted at %L", + &expr->where); + return false; + } break; } |