diff options
author | Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de> | 2004-08-26 19:11:27 +0200 |
---|---|---|
committer | Tobias Schlüter <tobi@gcc.gnu.org> | 2004-08-26 19:11:27 +0200 |
commit | a1bab9ea96f0a1a2e0b6030237fa4434eab78972 (patch) | |
tree | bdf9652020a5d0a53ec041237b2420d91b40ebe4 /gcc | |
parent | 36d59cf798c2bf339594ca6917851b9689f84b5d (diff) | |
download | gcc-a1bab9ea96f0a1a2e0b6030237fa4434eab78972.zip gcc-a1bab9ea96f0a1a2e0b6030237fa4434eab78972.tar.gz gcc-a1bab9ea96f0a1a2e0b6030237fa4434eab78972.tar.bz2 |
check.c (gfc_check_atan2): New function.
* check.c (gfc_check_atan2): New function.
* intrinsic.c (add_functions): Use gfc_check_atan2 for ATAN2
* intrinsic.h (gfc_check_atan2): Add prototype.
From-SVN: r86628
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/fortran/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/fortran/check.c | 12 | ||||
-rw-r--r-- | gcc/fortran/intrinsic.c | 2 | ||||
-rw-r--r-- | gcc/fortran/intrinsic.h | 1 |
4 files changed, 20 insertions, 1 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 9e727ca..6ab8f19 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2004-08-26 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> + + * check.c (gfc_check_atan2): New function. + * intrinsic.c (add_functions): Use gfc_check_atan2 for ATAN2 + * intrinsic.h (gfc_check_atan2): Add prototype. + 2004-08-25 Richard Henderson <rth@redhat.com> * arith.c (gfc_validate_kind): Add may_fail argument; abort if diff --git a/gcc/fortran/check.c b/gcc/fortran/check.c index acf16c5..32de055 100644 --- a/gcc/fortran/check.c +++ b/gcc/fortran/check.c @@ -514,6 +514,18 @@ gfc_check_associated (gfc_expr * pointer, gfc_expr * target) try +gfc_check_atan2 (gfc_expr * y, gfc_expr * x) +{ + if (type_check (y, 0, BT_REAL) == FAILURE) + return FAILURE; + if (same_type_check (y, 0, x, 1) == FAILURE) + return FAILURE; + + return SUCCESS; +} + + +try gfc_check_btest (gfc_expr * i, gfc_expr * pos) { diff --git a/gcc/fortran/intrinsic.c b/gcc/fortran/intrinsic.c index 2784a7a..ec344c7 100644 --- a/gcc/fortran/intrinsic.c +++ b/gcc/fortran/intrinsic.c @@ -975,7 +975,7 @@ add_functions (void) make_generic ("atan", GFC_ISYM_ATAN); add_sym_2 ("atan2", 1, 1, BT_REAL, dr, - NULL, gfc_simplify_atan2, gfc_resolve_atan2, + gfc_check_atan2, gfc_simplify_atan2, gfc_resolve_atan2, y, BT_REAL, dr, 0, x, BT_REAL, dr, 0); add_sym_2 ("datan2", 1, 1, BT_REAL, dd, diff --git a/gcc/fortran/intrinsic.h b/gcc/fortran/intrinsic.h index d09bcd0..ef4fad5 100644 --- a/gcc/fortran/intrinsic.h +++ b/gcc/fortran/intrinsic.h @@ -34,6 +34,7 @@ try gfc_check_abs (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 *); +try gfc_check_atan2 (gfc_expr *, gfc_expr *); try gfc_check_btest (gfc_expr *, gfc_expr *); try gfc_check_char (gfc_expr *, gfc_expr *); try gfc_check_cmplx (gfc_expr *, gfc_expr *, gfc_expr *); |