diff options
author | Roger Sayle <roger@eyesopen.com> | 2003-05-31 02:44:34 +0000 |
---|---|---|
committer | Roger Sayle <sayle@gcc.gnu.org> | 2003-05-31 02:44:34 +0000 |
commit | d57f4eadb38d52767d34661cc8249486bc2adec4 (patch) | |
tree | 0979464d6d8c730e7c1dd2eafd758a282d67fc21 /gcc | |
parent | 1ca244f8a3769aa865ded31c066bbc71e0404d17 (diff) | |
download | gcc-d57f4eadb38d52767d34661cc8249486bc2adec4.zip gcc-d57f4eadb38d52767d34661cc8249486bc2adec4.tar.gz gcc-d57f4eadb38d52767d34661cc8249486bc2adec4.tar.bz2 |
com.c (ffecom_init_0): Define built-in functions for tan and atan.
* com.c (ffecom_init_0): Define built-in functions for tan and atan.
* com-rt.def: Use then to implement g77's tan and atan intrinsics.
From-SVN: r67260
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/f/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/f/com-rt.def | 4 | ||||
-rw-r--r-- | gcc/f/com.c | 14 |
3 files changed, 21 insertions, 2 deletions
diff --git a/gcc/f/ChangeLog b/gcc/f/ChangeLog index 4a36cca..d99773e 100644 --- a/gcc/f/ChangeLog +++ b/gcc/f/ChangeLog @@ -1,3 +1,8 @@ +2003-05-30 Roger Sayle <roger@eyesopen.com> + + * com.c (ffecom_init_0): Define built-in functions for tan and atan. + * com-rt.def: Use then to implement g77's tan and atan intrinsics. + 2003-05-22 Bud Davis <bdavis9659@comcast.net> * com.c (ffecom_sym_transform_): Error out on unallocatable diff --git a/gcc/f/com-rt.def b/gcc/f/com-rt.def index 2ddc0fb..185aef5 100644 --- a/gcc/f/com-rt.def +++ b/gcc/f/com-rt.def @@ -259,7 +259,7 @@ DEFGFRT (FFECOM_gfrtDIMAG, "d_imag", FFECOM_rttypeDOUBLE_, "&e", FALSE, FALSE, F DEFGFRT (FFECOM_gfrtL_ACOS, "acos", FFECOM_rttypeDOUBLE_, "d", FALSE, FALSE, TRUE) DEFGFRT (FFECOM_gfrtL_ASIN, "asin", FFECOM_rttypeDOUBLE_, "d", FALSE, FALSE, TRUE) -DEFGFRT (FFECOM_gfrtL_ATAN, "atan", FFECOM_rttypeDOUBLE_, "d", FALSE, FALSE, TRUE) +DEFGFRT (FFECOM_gfrtL_ATAN, "__builtin_atan", FFECOM_rttypeDOUBLE_, "d", FALSE, FALSE, TRUE) DEFGFRT (FFECOM_gfrtL_ATAN2, "__builtin_atan2", FFECOM_rttypeDOUBLE_, "dd", FALSE, FALSE, TRUE) DEFGFRT (FFECOM_gfrtL_COS, "__builtin_cos", FFECOM_rttypeDOUBLE_, "d", FALSE, FALSE, TRUE) DEFGFRT (FFECOM_gfrtL_COSH, "cosh", FFECOM_rttypeDOUBLE_, "d", FALSE, FALSE, TRUE) @@ -274,7 +274,7 @@ DEFGFRT (FFECOM_gfrtL_POW, "__builtin_pow", FFECOM_rttypeDOUBLE_, "dd", FALSE, F DEFGFRT (FFECOM_gfrtL_SIN, "__builtin_sin", FFECOM_rttypeDOUBLE_, "d", FALSE, FALSE, TRUE) DEFGFRT (FFECOM_gfrtL_SINH, "sinh", FFECOM_rttypeDOUBLE_, "d", FALSE, FALSE, TRUE) DEFGFRT (FFECOM_gfrtL_SQRT, "__builtin_sqrt", FFECOM_rttypeDOUBLE_, "d", FALSE, FALSE, TRUE) -DEFGFRT (FFECOM_gfrtL_TAN, "tan", FFECOM_rttypeDOUBLE_, "d", FALSE, FALSE, TRUE) +DEFGFRT (FFECOM_gfrtL_TAN, "__builtin_tan", FFECOM_rttypeDOUBLE_, "d", FALSE, FALSE, TRUE) DEFGFRT (FFECOM_gfrtL_TANH, "tanh", FFECOM_rttypeDOUBLE_, "d", FALSE, FALSE, TRUE) DEFGFRT (FFECOM_gfrtPOW_CI, "pow_ci", FFECOM_rttypeCOMPLEX_F2C_, "&c&i", FALSE, TRUE, FALSE) diff --git a/gcc/f/com.c b/gcc/f/com.c index 964e74d..39640e2 100644 --- a/gcc/f/com.c +++ b/gcc/f/com.c @@ -11753,6 +11753,13 @@ ffecom_init_0 () ffecom_tree_blockdata_type = build_function_type (void_type_node, NULL_TREE); + builtin_function ("__builtin_atanf", float_ftype_float, + BUILT_IN_ATANF, BUILT_IN_NORMAL, "atanf", NULL_TREE); + builtin_function ("__builtin_atan", double_ftype_double, + BUILT_IN_ATAN, BUILT_IN_NORMAL, "atan", NULL_TREE); + builtin_function ("__builtin_atanl", ldouble_ftype_ldouble, + BUILT_IN_ATANL, BUILT_IN_NORMAL, "atanl", NULL_TREE); + builtin_function ("__builtin_atan2f", float_ftype_float_float, BUILT_IN_ATAN2F, BUILT_IN_NORMAL, "atan2f", NULL_TREE); builtin_function ("__builtin_atan2", double_ftype_double_double, @@ -11816,6 +11823,13 @@ ffecom_init_0 () builtin_function ("__builtin_sqrtl", ldouble_ftype_ldouble, BUILT_IN_SQRTL, BUILT_IN_NORMAL, "sqrtl", NULL_TREE); + builtin_function ("__builtin_tanf", float_ftype_float, + BUILT_IN_TANF, BUILT_IN_NORMAL, "tanf", NULL_TREE); + builtin_function ("__builtin_tan", double_ftype_double, + BUILT_IN_TAN, BUILT_IN_NORMAL, "tan", NULL_TREE); + builtin_function ("__builtin_tanl", ldouble_ftype_ldouble, + BUILT_IN_TANL, BUILT_IN_NORMAL, "tanl", NULL_TREE); + pedantic_lvalues = FALSE; ffecom_f2c_make_type_ (&ffecom_f2c_integer_type_node, |