diff options
author | Steven G. Kargl <kargls@comcast.net> | 2005-02-19 20:07:47 +0000 |
---|---|---|
committer | Steven G. Kargl <kargl@gcc.gnu.org> | 2005-02-19 20:07:47 +0000 |
commit | c60d77d4db7aec48e2fb0997400c4d1177b726aa (patch) | |
tree | 46ab6a34befac7343839d934610e531bf1570828 /gcc/fortran/check.c | |
parent | 04c90eea0779dd173baa01b96aed683fec326207 (diff) | |
download | gcc-c60d77d4db7aec48e2fb0997400c4d1177b726aa.zip gcc-c60d77d4db7aec48e2fb0997400c4d1177b726aa.tar.gz gcc-c60d77d4db7aec48e2fb0997400c4d1177b726aa.tar.bz2 |
check.c (gfc_check_int): improve checking of optional kind
* check.c (gfc_check_int): improve checking of optional kind
* simplify.c (gfc_simplify_int): Change BT_REAL to BT_INTEGER
* gfortran.dg/int_1.f90: New test.
From-SVN: r95290
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; } |