check.c (gfc_check_atan2): New function.
authorTobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>
Thu, 26 Aug 2004 17:11:27 +0000 (19:11 +0200)
committerTobias Schlüter <tobi@gcc.gnu.org>
Thu, 26 Aug 2004 17:11:27 +0000 (19:11 +0200)
* 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

gcc/fortran/ChangeLog
gcc/fortran/check.c
gcc/fortran/intrinsic.c
gcc/fortran/intrinsic.h

index 9e727ca7a0b8de63ddd6c041bc88da00d5de8daa..6ab8f192010f4357427e1b50d90d169fc55ae448 100644 (file)
@@ -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
index acf16c5362adf2279fb679686715c50a998fe63d..32de055789332a3efd9fe18f2423fa22d4bc0a48 100644 (file)
@@ -513,6 +513,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)
 {
index 2784a7a03eabd36eb8f58c179a77d2679ca9c24c..ec344c7a6469ab24b1024da1f3a8615901c7ae8a 100644 (file)
@@ -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,
index d09bcd029640f22413b9f8dda631cde93aec272b..ef4fad578707c7615c9e8431337015da422c57b1 100644 (file)
@@ -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 *);