aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/intrinsic.c
diff options
context:
space:
mode:
authorJerry DeLisle <jvdelisle@verizon.net>2005-06-24 23:12:32 +0000
committerJerry DeLisle <jvdelisle@gcc.gnu.org>2005-06-24 23:12:32 +0000
commit1e399e2331cb4a82ab314c552c8492da1a9e39e5 (patch)
tree5e42ffb6be150d57d6f5548e53e219862aadd26c /gcc/fortran/intrinsic.c
parente138a19f6b4731baded85fceef172a380d159634 (diff)
downloadgcc-1e399e2331cb4a82ab314c552c8492da1a9e39e5.zip
gcc-1e399e2331cb4a82ab314c552c8492da1a9e39e5.tar.gz
gcc-1e399e2331cb4a82ab314c552c8492da1a9e39e5.tar.bz2
re PR fortran/21915 ([4.0 only] Would like atanh etc. as intrinsics)
2005-06-24 Jerry DeLisle <jvdelisle@verizon.net> PR fortran/21915 * gfortran.h: Add symbols for new intrinsics * intrinsic.c: Add acosh, asinh, and atanh * intrinsic.h: Add prototypes * iresolve.c (gfc_resolve_acosh): New function (gfc_resolve_asinh): New (gfc_resolve_atanh): New * mathbuiltins.def: Add defines * simplify.c (gfc_simplify_acosh): New function (gfc_simplify_asinh): New (gfc_simplify_atanh): New From-SVN: r101304
Diffstat (limited to 'gcc/fortran/intrinsic.c')
-rw-r--r--gcc/fortran/intrinsic.c32
1 files changed, 31 insertions, 1 deletions
diff --git a/gcc/fortran/intrinsic.c b/gcc/fortran/intrinsic.c
index 699027a..b18a1458 100644
--- a/gcc/fortran/intrinsic.c
+++ b/gcc/fortran/intrinsic.c
@@ -911,6 +911,16 @@ add_functions (void)
make_generic ("acos", GFC_ISYM_ACOS, GFC_STD_F77);
+ add_sym_1 ("acosh", 1, 1, BT_REAL, dr, GFC_STD_GNU,
+ gfc_check_fn_r, gfc_simplify_acosh, gfc_resolve_acosh,
+ x, BT_REAL, dr, REQUIRED);
+
+ add_sym_1 ("dacosh", 1, 1, BT_REAL, dd, GFC_STD_GNU,
+ NULL, gfc_simplify_acosh, gfc_resolve_acosh,
+ x, BT_REAL, dd, REQUIRED);
+
+ make_generic ("acosh", GFC_ISYM_ACOSH, GFC_STD_GNU);
+
add_sym_1 ("adjustl", 1, 1, BT_CHARACTER, dc, GFC_STD_F95,
NULL, gfc_simplify_adjustl, NULL,
stg, BT_CHARACTER, dc, REQUIRED);
@@ -980,6 +990,16 @@ add_functions (void)
x, BT_REAL, dd, REQUIRED);
make_generic ("asin", GFC_ISYM_ASIN, GFC_STD_F77);
+
+ add_sym_1 ("asinh", 1, 1, BT_REAL, dr, GFC_STD_GNU,
+ gfc_check_fn_r, gfc_simplify_asinh, gfc_resolve_asinh,
+ x, BT_REAL, dr, REQUIRED);
+
+ add_sym_1 ("dasinh", 1, 1, BT_REAL, dd, GFC_STD_GNU,
+ NULL, gfc_simplify_asinh, gfc_resolve_asinh,
+ x, BT_REAL, dd, REQUIRED);
+
+ make_generic ("asinh", GFC_ISYM_ASINH, GFC_STD_GNU);
add_sym_2 ("associated", 0, 1, BT_LOGICAL, dl, GFC_STD_F95,
gfc_check_associated, NULL, NULL,
@@ -996,6 +1016,16 @@ add_functions (void)
x, BT_REAL, dd, REQUIRED);
make_generic ("atan", GFC_ISYM_ATAN, GFC_STD_F77);
+
+ add_sym_1 ("atanh", 1, 1, BT_REAL, dr, GFC_STD_GNU,
+ gfc_check_fn_r, gfc_simplify_atanh, gfc_resolve_atanh,
+ x, BT_REAL, dr, REQUIRED);
+
+ add_sym_1 ("datanh", 1, 1, BT_REAL, dd, GFC_STD_GNU,
+ NULL, gfc_simplify_atanh, gfc_resolve_atanh,
+ x, BT_REAL, dd, REQUIRED);
+
+ make_generic ("atanh", GFC_ISYM_ATANH, GFC_STD_GNU);
add_sym_2 ("atan2", 1, 1, BT_REAL, dr, GFC_STD_F77,
gfc_check_atan2, gfc_simplify_atan2, gfc_resolve_atan2,
@@ -1006,7 +1036,7 @@ add_functions (void)
y, BT_REAL, dd, REQUIRED, x, BT_REAL, dd, REQUIRED);
make_generic ("atan2", GFC_ISYM_ATAN2, GFC_STD_F77);
-
+
/* Bessel and Neumann functions for G77 compatibility. */
add_sym_1 ("besj0", 1, 0, BT_REAL, dr, GFC_STD_GNU,
gfc_check_g77_math1, NULL, gfc_resolve_g77_math1,