aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorTobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>2004-08-26 19:11:27 +0200
committerTobias Schlüter <tobi@gcc.gnu.org>2004-08-26 19:11:27 +0200
commita1bab9ea96f0a1a2e0b6030237fa4434eab78972 (patch)
treebdf9652020a5d0a53ec041237b2420d91b40ebe4 /gcc
parent36d59cf798c2bf339594ca6917851b9689f84b5d (diff)
downloadgcc-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/ChangeLog6
-rw-r--r--gcc/fortran/check.c12
-rw-r--r--gcc/fortran/intrinsic.c2
-rw-r--r--gcc/fortran/intrinsic.h1
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 *);