aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/fortran/ChangeLog5
-rw-r--r--gcc/fortran/array.c4
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index a53691c..f0275ef 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,8 @@
+2007-05-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/31716
+ * array.c (spec_dimen_size): Test for correct BT_INTEGER type.
+
2007-05-23 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
PR fortran/32046
diff --git a/gcc/fortran/array.c b/gcc/fortran/array.c
index 9359624..2a88cc8 100644
--- a/gcc/fortran/array.c
+++ b/gcc/fortran/array.c
@@ -1725,7 +1725,9 @@ spec_dimen_size (gfc_array_spec *as, int dimen, mpz_t *result)
if (as->type != AS_EXPLICIT
|| as->lower[dimen]->expr_type != EXPR_CONSTANT
- || as->upper[dimen]->expr_type != EXPR_CONSTANT)
+ || as->upper[dimen]->expr_type != EXPR_CONSTANT
+ || as->lower[dimen]->ts.type != BT_INTEGER
+ || as->upper[dimen]->ts.type != BT_INTEGER)
return FAILURE;
mpz_init (*result);