aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/simplify.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/fortran/simplify.c')
-rw-r--r--gcc/fortran/simplify.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/fortran/simplify.c b/gcc/fortran/simplify.c
index f49c6c0..2f3e247 100644
--- a/gcc/fortran/simplify.c
+++ b/gcc/fortran/simplify.c
@@ -5188,8 +5188,11 @@ gfc_simplify_reshape (gfc_expr *source, gfc_expr *shape_exp,
e = gfc_constructor_lookup_expr (source->value.constructor, j);
else
{
- gcc_assert (npad > 0);
-
+ if (npad <= 0)
+ {
+ mpz_clear (index);
+ return NULL;
+ }
j = j - nsource;
j = j % npad;
e = gfc_constructor_lookup_expr (pad->value.constructor, j);