diff options
author | jvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-10-27 00:54:20 +0000 |
---|---|---|
committer | jvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-10-27 00:54:20 +0000 |
commit | ea98e11163401f42d5701c0f3f5cd439dbc15c86 (patch) | |
tree | 83255419889936e21ab5a66d417c59c62a29859d /gcc/fortran/intrinsic.c | |
parent | 282986bf64b3dea7defab7a527a52e059f1aad16 (diff) | |
download | gcc-ea98e11163401f42d5701c0f3f5cd439dbc15c86.tar.gz |
2007-10-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/33162
* intrinsic.h: Add prototypes for four new functions, gfc_check_datan2,
gfc_check_dprod, gfc_check_fn_d, and gfc_check_x_yd.
* intrinsic.c (add_functions): Add double precision checks for dabs,
dacos, dacosh, dasin, dasinh, datan, datanh, datan2, dbesj0, dbesj1,
dbesy0, dbesy1, dcos, dcosh, ddim, derf, derfc, dexp, dgamma,
dlgama, dlog, dlog10, dmod, dsign, dsin, dsinh, dsqrt, dtan, and dtanh.
Add real check dprod.
* check.c (gfc_check_datan2): New function to check for double precision
argumants. (gfc_check_dprod, gfc_check_fn_d, and gfc_check_x_yd): Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129673 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fortran/intrinsic.c')
-rw-r--r-- | gcc/fortran/intrinsic.c | 60 |
1 files changed, 30 insertions, 30 deletions
diff --git a/gcc/fortran/intrinsic.c b/gcc/fortran/intrinsic.c index 0c5c1773332..a67ec70b7e4 100644 --- a/gcc/fortran/intrinsic.c +++ b/gcc/fortran/intrinsic.c @@ -923,7 +923,7 @@ add_functions (void) a, BT_INTEGER, di, REQUIRED); add_sym_1 ("dabs", GFC_ISYM_ABS, CLASS_ELEMENTAL, ACTUAL_YES, BT_REAL, dd, GFC_STD_F77, - NULL, gfc_simplify_abs, gfc_resolve_abs, + gfc_check_fn_d, gfc_simplify_abs, gfc_resolve_abs, a, BT_REAL, dd, REQUIRED); add_sym_1 ("cabs", GFC_ISYM_ABS, CLASS_ELEMENTAL, ACTUAL_YES, BT_REAL, dr, GFC_STD_F77, @@ -958,7 +958,7 @@ add_functions (void) x, BT_REAL, dr, REQUIRED); add_sym_1 ("dacos", GFC_ISYM_ACOS, CLASS_ELEMENTAL, ACTUAL_YES, BT_REAL, dd, GFC_STD_F77, - NULL, gfc_simplify_acos, gfc_resolve_acos, + gfc_check_fn_d, gfc_simplify_acos, gfc_resolve_acos, x, BT_REAL, dd, REQUIRED); make_generic ("acos", GFC_ISYM_ACOS, GFC_STD_F77); @@ -968,7 +968,7 @@ add_functions (void) x, BT_REAL, dr, REQUIRED); add_sym_1 ("dacosh", GFC_ISYM_ACOSH, CLASS_ELEMENTAL, ACTUAL_YES, BT_REAL, dd, GFC_STD_GNU, - NULL, gfc_simplify_acosh, gfc_resolve_acosh, + gfc_check_fn_d, gfc_simplify_acosh, gfc_resolve_acosh, x, BT_REAL, dd, REQUIRED); make_generic ("acosh", GFC_ISYM_ACOSH, GFC_STD_GNU); @@ -1041,7 +1041,7 @@ add_functions (void) x, BT_REAL, dr, REQUIRED); add_sym_1 ("dasin", GFC_ISYM_ASIN, CLASS_ELEMENTAL, ACTUAL_YES, BT_REAL, dd, GFC_STD_F77, - NULL, gfc_simplify_asin, gfc_resolve_asin, + gfc_check_fn_d, gfc_simplify_asin, gfc_resolve_asin, x, BT_REAL, dd, REQUIRED); make_generic ("asin", GFC_ISYM_ASIN, GFC_STD_F77); @@ -1051,7 +1051,7 @@ add_functions (void) x, BT_REAL, dr, REQUIRED); add_sym_1 ("dasinh", GFC_ISYM_ASINH, CLASS_ELEMENTAL, ACTUAL_YES, BT_REAL, dd, GFC_STD_GNU, - NULL, gfc_simplify_asinh, gfc_resolve_asinh, + gfc_check_fn_d, gfc_simplify_asinh, gfc_resolve_asinh, x, BT_REAL, dd, REQUIRED); make_generic ("asinh", GFC_ISYM_ASINH, GFC_STD_GNU); @@ -1067,7 +1067,7 @@ add_functions (void) x, BT_REAL, dr, REQUIRED); add_sym_1 ("datan", GFC_ISYM_ATAN, CLASS_ELEMENTAL, ACTUAL_YES, BT_REAL, dd, GFC_STD_F77, - NULL, gfc_simplify_atan, gfc_resolve_atan, + gfc_check_fn_d, gfc_simplify_atan, gfc_resolve_atan, x, BT_REAL, dd, REQUIRED); make_generic ("atan", GFC_ISYM_ATAN, GFC_STD_F77); @@ -1077,7 +1077,7 @@ add_functions (void) x, BT_REAL, dr, REQUIRED); add_sym_1 ("datanh", GFC_ISYM_ATANH, CLASS_ELEMENTAL, ACTUAL_YES, BT_REAL, dd, GFC_STD_GNU, - NULL, gfc_simplify_atanh, gfc_resolve_atanh, + gfc_check_fn_d, gfc_simplify_atanh, gfc_resolve_atanh, x, BT_REAL, dd, REQUIRED); make_generic ("atanh", GFC_ISYM_ATANH, GFC_STD_GNU); @@ -1087,7 +1087,7 @@ add_functions (void) y, BT_REAL, dr, REQUIRED, x, BT_REAL, dr, REQUIRED); add_sym_2 ("datan2", GFC_ISYM_ATAN2, CLASS_ELEMENTAL, ACTUAL_YES, BT_REAL, dd, GFC_STD_F77, - NULL, gfc_simplify_atan2, gfc_resolve_atan2, + gfc_check_datan2, gfc_simplify_atan2, gfc_resolve_atan2, y, BT_REAL, dd, REQUIRED, x, BT_REAL, dd, REQUIRED); make_generic ("atan2", GFC_ISYM_ATAN2, GFC_STD_F77); @@ -1098,7 +1098,7 @@ add_functions (void) x, BT_REAL, dr, REQUIRED); add_sym_1 ("dbesj0", GFC_ISYM_J0, CLASS_ELEMENTAL, ACTUAL_NO, BT_REAL, dd, GFC_STD_GNU, - gfc_check_fn_r, NULL, gfc_resolve_g77_math1, + gfc_check_fn_d, NULL, gfc_resolve_g77_math1, x, BT_REAL, dd, REQUIRED); make_generic ("besj0", GFC_ISYM_J0, GFC_STD_GNU); @@ -1108,7 +1108,7 @@ add_functions (void) x, BT_REAL, dr, REQUIRED); add_sym_1 ("dbesj1", GFC_ISYM_J1, CLASS_ELEMENTAL, ACTUAL_NO, BT_REAL, dd, GFC_STD_GNU, - gfc_check_fn_r, NULL, gfc_resolve_g77_math1, + gfc_check_fn_d, NULL, gfc_resolve_g77_math1, x, BT_REAL, dd, REQUIRED); make_generic ("besj1", GFC_ISYM_J1, GFC_STD_GNU); @@ -1128,7 +1128,7 @@ add_functions (void) x, BT_REAL, dr, REQUIRED); add_sym_1 ("dbesy0", GFC_ISYM_Y0, CLASS_ELEMENTAL, ACTUAL_NO, BT_REAL, dd, GFC_STD_GNU, - gfc_check_fn_r, NULL, gfc_resolve_g77_math1, + gfc_check_fn_d, NULL, gfc_resolve_g77_math1, x, BT_REAL, dd, REQUIRED); make_generic ("besy0", GFC_ISYM_Y0, GFC_STD_GNU); @@ -1138,7 +1138,7 @@ add_functions (void) x, BT_REAL, dr, REQUIRED); add_sym_1 ("dbesy1", GFC_ISYM_Y1, CLASS_ELEMENTAL, ACTUAL_NO, BT_REAL, dd, GFC_STD_GNU, - gfc_check_fn_r, NULL, gfc_resolve_g77_math1, + gfc_check_fn_d, NULL, gfc_resolve_g77_math1, x, BT_REAL, dd, REQUIRED); make_generic ("besy1", GFC_ISYM_Y1, GFC_STD_GNU); @@ -1232,7 +1232,7 @@ add_functions (void) x, BT_REAL, dr, REQUIRED); add_sym_1 ("dcos", GFC_ISYM_COS, CLASS_ELEMENTAL, ACTUAL_YES, BT_REAL, dd, GFC_STD_F77, - gfc_check_fn_rc, gfc_simplify_cos, gfc_resolve_cos, + gfc_check_fn_d, gfc_simplify_cos, gfc_resolve_cos, x, BT_REAL, dd, REQUIRED); add_sym_1 ("ccos", GFC_ISYM_COS, CLASS_ELEMENTAL, ACTUAL_YES, BT_COMPLEX, dz, GFC_STD_F77, @@ -1252,7 +1252,7 @@ add_functions (void) x, BT_REAL, dr, REQUIRED); add_sym_1 ("dcosh", GFC_ISYM_COSH, CLASS_ELEMENTAL, ACTUAL_YES, BT_REAL, dd, GFC_STD_F77, - NULL, gfc_simplify_cosh, gfc_resolve_cosh, + gfc_check_fn_d, gfc_simplify_cosh, gfc_resolve_cosh, x, BT_REAL, dd, REQUIRED); make_generic ("cosh", GFC_ISYM_COSH, GFC_STD_F77); @@ -1301,7 +1301,7 @@ add_functions (void) x, BT_INTEGER, di, REQUIRED, y, BT_INTEGER, di, REQUIRED); add_sym_2 ("ddim", GFC_ISYM_DIM, CLASS_ELEMENTAL, ACTUAL_YES, BT_REAL, dd, GFC_STD_F77, - NULL, gfc_simplify_dim, gfc_resolve_dim, + gfc_check_x_yd, gfc_simplify_dim, gfc_resolve_dim, x, BT_REAL, dd, REQUIRED, y, BT_REAL, dd, REQUIRED); make_generic ("dim", GFC_ISYM_DIM, GFC_STD_F77); @@ -1313,7 +1313,7 @@ add_functions (void) make_generic ("dot_product", GFC_ISYM_DOT_PRODUCT, GFC_STD_F95); add_sym_2 ("dprod", GFC_ISYM_DPROD,CLASS_ELEMENTAL, ACTUAL_YES, BT_REAL, dd, GFC_STD_F77, - NULL, gfc_simplify_dprod, gfc_resolve_dprod, + gfc_check_dprod, gfc_simplify_dprod, gfc_resolve_dprod, x, BT_REAL, dr, REQUIRED, y, BT_REAL, dr, REQUIRED); make_generic ("dprod", GFC_ISYM_DPROD, GFC_STD_F77); @@ -1343,7 +1343,7 @@ add_functions (void) x, BT_REAL, dr, REQUIRED); add_sym_1 ("derf", GFC_ISYM_ERF, CLASS_ELEMENTAL, ACTUAL_NO, BT_REAL, dd, GFC_STD_GNU, - gfc_check_fn_r, NULL, gfc_resolve_g77_math1, + gfc_check_fn_d, NULL, gfc_resolve_g77_math1, x, BT_REAL, dd, REQUIRED); make_generic ("erf", GFC_ISYM_ERF, GFC_STD_GNU); @@ -1353,7 +1353,7 @@ add_functions (void) x, BT_REAL, dr, REQUIRED); add_sym_1 ("derfc", GFC_ISYM_ERFC, CLASS_ELEMENTAL, ACTUAL_NO, BT_REAL, dd, GFC_STD_GNU, - gfc_check_fn_r, NULL, gfc_resolve_g77_math1, + gfc_check_fn_d, NULL, gfc_resolve_g77_math1, x, BT_REAL, dd, REQUIRED); make_generic ("erfc", GFC_ISYM_ERFC, GFC_STD_GNU); @@ -1372,7 +1372,7 @@ add_functions (void) x, BT_REAL, dr, REQUIRED); add_sym_1 ("dexp", GFC_ISYM_EXP, CLASS_ELEMENTAL, ACTUAL_YES, BT_REAL, dd, GFC_STD_F77, - NULL, gfc_simplify_exp, gfc_resolve_exp, + gfc_check_fn_d, gfc_simplify_exp, gfc_resolve_exp, x, BT_REAL, dd, REQUIRED); add_sym_1 ("cexp", GFC_ISYM_EXP, CLASS_ELEMENTAL, ACTUAL_YES, BT_COMPLEX, dz, GFC_STD_F77, @@ -1458,7 +1458,7 @@ add_functions (void) x, BT_REAL, dr, REQUIRED); add_sym_1 ("dgamma", GFC_ISYM_GAMMA, CLASS_ELEMENTAL, ACTUAL_NO, BT_REAL, dr, GFC_STD_GNU, - gfc_check_fn_r, gfc_simplify_gamma, gfc_resolve_gamma, + gfc_check_fn_d, gfc_simplify_gamma, gfc_resolve_gamma, x, BT_REAL, dr, REQUIRED); make_generic ("gamma", GFC_ISYM_GAMMA, GFC_STD_GNU); @@ -1721,7 +1721,7 @@ add_functions (void) x, BT_REAL, dr, REQUIRED); add_sym_1 ("dlgama", GFC_ISYM_LGAMMA, CLASS_ELEMENTAL, ACTUAL_NO, BT_REAL, dr, GFC_STD_GNU, - gfc_check_fn_r, gfc_simplify_lgamma, gfc_resolve_lgamma, + gfc_check_fn_d, gfc_simplify_lgamma, gfc_resolve_lgamma, x, BT_REAL, dr, REQUIRED); make_generic ("lgamma", GFC_ISYM_LGAMMA, GFC_STD_GNU); @@ -1766,7 +1766,7 @@ add_functions (void) x, BT_REAL, dr, REQUIRED); add_sym_1 ("dlog", GFC_ISYM_LOG, CLASS_ELEMENTAL, ACTUAL_YES, BT_REAL, dd, GFC_STD_F77, - NULL, gfc_simplify_log, gfc_resolve_log, + gfc_check_fn_d, gfc_simplify_log, gfc_resolve_log, x, BT_REAL, dd, REQUIRED); add_sym_1 ("clog", GFC_ISYM_LOG, CLASS_ELEMENTAL, ACTUAL_YES, BT_COMPLEX, dz, GFC_STD_F77, @@ -1790,7 +1790,7 @@ add_functions (void) x, BT_REAL, dr, REQUIRED); add_sym_1 ("dlog10", GFC_ISYM_LOG10, CLASS_ELEMENTAL, ACTUAL_YES, BT_REAL, dd, GFC_STD_F77, - NULL, gfc_simplify_log10, gfc_resolve_log10, + gfc_check_fn_d, gfc_simplify_log10, gfc_resolve_log10, x, BT_REAL, dd, REQUIRED); make_generic ("log10", GFC_ISYM_LOG10, GFC_STD_F77); @@ -1943,7 +1943,7 @@ add_functions (void) a, BT_REAL, dr, REQUIRED, p, BT_REAL, dr, REQUIRED); add_sym_2 ("dmod", GFC_ISYM_MOD, CLASS_ELEMENTAL, ACTUAL_YES, BT_REAL, dd, GFC_STD_F77, - NULL, gfc_simplify_mod, gfc_resolve_mod, + gfc_check_x_yd, gfc_simplify_mod, gfc_resolve_mod, a, BT_REAL, dd, REQUIRED, p, BT_REAL, dd, REQUIRED); make_generic ("mod", GFC_ISYM_MOD, GFC_STD_F77); @@ -2143,7 +2143,7 @@ add_functions (void) a, BT_INTEGER, di, REQUIRED, b, BT_INTEGER, di, REQUIRED); add_sym_2 ("dsign", GFC_ISYM_SIGN, CLASS_ELEMENTAL, ACTUAL_YES, BT_REAL, dd, GFC_STD_F77, - NULL, gfc_simplify_sign, gfc_resolve_sign, + gfc_check_x_yd, gfc_simplify_sign, gfc_resolve_sign, a, BT_REAL, dd, REQUIRED, b, BT_REAL, dd, REQUIRED); make_generic ("sign", GFC_ISYM_SIGN, GFC_STD_F77); @@ -2159,7 +2159,7 @@ add_functions (void) x, BT_REAL, dr, REQUIRED); add_sym_1 ("dsin", GFC_ISYM_SIN, CLASS_ELEMENTAL, ACTUAL_YES, BT_REAL, dd, GFC_STD_F77, - NULL, gfc_simplify_sin, gfc_resolve_sin, + gfc_check_fn_d, gfc_simplify_sin, gfc_resolve_sin, x, BT_REAL, dd, REQUIRED); add_sym_1 ("csin", GFC_ISYM_SIN, CLASS_ELEMENTAL, ACTUAL_YES, BT_COMPLEX, dz, GFC_STD_F77, @@ -2179,7 +2179,7 @@ add_functions (void) x, BT_REAL, dr, REQUIRED); add_sym_1 ("dsinh", GFC_ISYM_SINH,CLASS_ELEMENTAL, ACTUAL_YES, BT_REAL, dd, GFC_STD_F77, - NULL, gfc_simplify_sinh, gfc_resolve_sinh, + gfc_check_fn_d, gfc_simplify_sinh, gfc_resolve_sinh, x, BT_REAL, dd, REQUIRED); make_generic ("sinh", GFC_ISYM_SINH, GFC_STD_F77); @@ -2216,7 +2216,7 @@ add_functions (void) x, BT_REAL, dr, REQUIRED); add_sym_1 ("dsqrt", GFC_ISYM_SQRT, CLASS_ELEMENTAL, ACTUAL_YES, BT_REAL, dd, GFC_STD_F77, - NULL, gfc_simplify_sqrt, gfc_resolve_sqrt, + gfc_check_fn_d, gfc_simplify_sqrt, gfc_resolve_sqrt, x, BT_REAL, dd, REQUIRED); add_sym_1 ("csqrt", GFC_ISYM_SQRT, CLASS_ELEMENTAL, ACTUAL_YES, BT_COMPLEX, dz, GFC_STD_F77, @@ -2261,7 +2261,7 @@ add_functions (void) x, BT_REAL, dr, REQUIRED); add_sym_1 ("dtan", GFC_ISYM_TAN, CLASS_ELEMENTAL, ACTUAL_YES, BT_REAL, dd, GFC_STD_F77, - NULL, gfc_simplify_tan, gfc_resolve_tan, + gfc_check_fn_d, gfc_simplify_tan, gfc_resolve_tan, x, BT_REAL, dd, REQUIRED); make_generic ("tan", GFC_ISYM_TAN, GFC_STD_F77); @@ -2271,7 +2271,7 @@ add_functions (void) x, BT_REAL, dr, REQUIRED); add_sym_1 ("dtanh", GFC_ISYM_TANH, CLASS_ELEMENTAL, ACTUAL_YES, BT_REAL, dd, GFC_STD_F77, - NULL, gfc_simplify_tanh, gfc_resolve_tanh, + gfc_check_fn_d, gfc_simplify_tanh, gfc_resolve_tanh, x, BT_REAL, dd, REQUIRED); make_generic ("tanh", GFC_ISYM_TANH, GFC_STD_F77); |