diff options
author | Thomas Koenig <tkoenig@gcc.gnu.org> | 2018-03-30 09:56:46 +0000 |
---|---|---|
committer | Thomas Koenig <tkoenig@gcc.gnu.org> | 2018-03-30 09:56:46 +0000 |
commit | 1832cbf8905a5d24075fc7b2aad495ec0e05cbdf (patch) | |
tree | 9d6078e8de36849ab7fc144cb5f8f8ff09b58bed /gcc/fortran/simplify.c | |
parent | 06be18e782b9497ffda6523786a38f13f1412e36 (diff) | |
download | gcc-1832cbf8905a5d24075fc7b2aad495ec0e05cbdf.zip gcc-1832cbf8905a5d24075fc7b2aad495ec0e05cbdf.tar.gz gcc-1832cbf8905a5d24075fc7b2aad495ec0e05cbdf.tar.bz2 |
re PR fortran/85111 (ICE in min_max_choose, at fortran/simplify.c:4884 (and others))
2017-03-30 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/85111
* array.c (gfc_resolve_character_array_constructor): Early
exit for zero-size arrays.
* simplify.c (simplify_transformation_to_array): Exit early
if the result size is zero.
(simplify_minmaxloc_to_array): Likewise.
2017-03-30 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/85111
* gfortran.dg/zero_sized_10.f90: New test.
From-SVN: r258973
Diffstat (limited to 'gcc/fortran/simplify.c')
-rw-r--r-- | gcc/fortran/simplify.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/fortran/simplify.c b/gcc/fortran/simplify.c index 44290ac..1829597 100644 --- a/gcc/fortran/simplify.c +++ b/gcc/fortran/simplify.c @@ -627,7 +627,7 @@ simplify_transformation_to_array (gfc_expr *result, gfc_expr *array, gfc_expr *d n += 1; } - done = false; + done = resultsize <= 0; base = arrayvec; dest = resultvec; while (!done) @@ -5304,7 +5304,7 @@ simplify_minmaxloc_to_array (gfc_expr *result, gfc_expr *array, n += 1; } - done = false; + done = resultsize <= 0; base = arrayvec; dest = resultvec; while (!done) |