diff options
Diffstat (limited to 'gcc/fortran/check.c')
-rw-r--r-- | gcc/fortran/check.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/gcc/fortran/check.c b/gcc/fortran/check.c index 0a26f29..281db88 100644 --- a/gcc/fortran/check.c +++ b/gcc/fortran/check.c @@ -946,10 +946,18 @@ gfc_check_index (gfc_expr * string, gfc_expr * substring, gfc_expr * back) try gfc_check_int (gfc_expr * x, gfc_expr * kind) { - if (numeric_check (x, 0) == FAILURE - || kind_check (kind, 1, BT_INTEGER) == FAILURE) + if (numeric_check (x, 0) == FAILURE) + return FAILURE; + + if (kind != NULL) + { + if (type_check (kind, 1, BT_INTEGER) == FAILURE) return FAILURE; + if (scalar_check (kind, 1) == FAILURE) + return FAILURE; + } + return SUCCESS; } |