diff options
Diffstat (limited to 'gcc/fortran')
| -rw-r--r-- | gcc/fortran/ChangeLog | 6 | ||||
| -rw-r--r-- | gcc/fortran/check.c | 10 | ||||
| -rw-r--r-- | gcc/fortran/intrinsic.c | 2 | ||||
| -rw-r--r-- | gcc/fortran/intrinsic.h | 1 |
4 files changed, 18 insertions, 1 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index e8d487a..54c37ab 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2005-02-19 Steven G. Kargl <kargls@comcast.net> + + * check.c (gfc_check_achar): New function + * intrinsic.h: Prototype it. + * intrinsic.c (add_function): Use it. + 2005-02-13 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> * trans-stmt.c (generate_loop_for_temp_to_lhs, diff --git a/gcc/fortran/check.c b/gcc/fortran/check.c index a63112b..0a26f29 100644 --- a/gcc/fortran/check.c +++ b/gcc/fortran/check.c @@ -401,6 +401,16 @@ gfc_check_abs (gfc_expr * a) return SUCCESS; } +try +gfc_check_achar (gfc_expr * a) +{ + + if (type_check (a, 0, BT_INTEGER) == FAILURE) + return FAILURE; + + return SUCCESS; +} + try gfc_check_all_any (gfc_expr * mask, gfc_expr * dim) diff --git a/gcc/fortran/intrinsic.c b/gcc/fortran/intrinsic.c index 03d443f..3c1b771 100644 --- a/gcc/fortran/intrinsic.c +++ b/gcc/fortran/intrinsic.c @@ -894,7 +894,7 @@ add_functions (void) make_generic ("abs", GFC_ISYM_ABS, GFC_STD_F77); add_sym_1 ("achar", 1, 1, BT_CHARACTER, dc, GFC_STD_F95, - NULL, gfc_simplify_achar, NULL, + gfc_check_achar, gfc_simplify_achar, NULL, i, BT_INTEGER, di, REQUIRED); make_generic ("achar", GFC_ISYM_ACHAR, GFC_STD_F95); diff --git a/gcc/fortran/intrinsic.h b/gcc/fortran/intrinsic.h index 41593ef..85f3a25 100644 --- a/gcc/fortran/intrinsic.h +++ b/gcc/fortran/intrinsic.h @@ -31,6 +31,7 @@ try gfc_check_a_xkind (gfc_expr *, gfc_expr *); try gfc_check_a_p (gfc_expr *, gfc_expr *); try gfc_check_abs (gfc_expr *); +try gfc_check_achar (gfc_expr *); try gfc_check_all_any (gfc_expr *, gfc_expr *); try gfc_check_allocated (gfc_expr *); try gfc_check_associated (gfc_expr *, gfc_expr *); |
