aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/trans-expr.c
diff options
context:
space:
mode:
authorFrancois-Xavier Coudert <coudert@clipper.ens.fr>2008-02-23 18:42:04 +0000
committerFrancois-Xavier Coudert <coudert@clipper.ens.fr>2008-02-23 18:42:04 +0000
commit54f8319c5e4fbc6c0829f8ad9dbca937c5e8c7f2 (patch)
treecd6f69f8cb255a89ac25d6d47a969d01dbc4675e /gcc/fortran/trans-expr.c
parent11dcf1784220e3ce3cdee7bf91d730d6967a3a59 (diff)
PR target/25477
* config/darwin-protos.h: Add darwin_patch_builtins prototype. * config/darwin-ppc-ldouble-patch.def: New file. * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS): New macro. * config/rs6000/rs6000.c (rs6000_init_builtins): Call SUBTARGET_INIT_BUILTINS if defined. * config/darwin.c (darwin_patch_builtin, darwin_patch_builtins): New functions. * trans-expr.c (gfc_conv_power_op): Use BUILT_IN_CPOW{F,,L}. * f95-lang.c (gfc_init_builtin_functions): Define BUILT_IN_CPOW{F,,L}. * trans.h (gfor_fndecl_math_cpow, gfor_fndecl_math_cpowf, gfor_fndecl_math_cpowl10, gfor_fndecl_math_cpowl16): Remove. * trans-decl.c: Likewise. * gfortran.dg/large_real_kind_2.F90: Split testing of ERF and ERFC into gfortran.dg/large_real_kind_3.F90. * gfortran.dg/large_real_kind_3.F90: New test. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@132576 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fortran/trans-expr.c')
-rw-r--r--gcc/fortran/trans-expr.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/gcc/fortran/trans-expr.c b/gcc/fortran/trans-expr.c
index 8d0392fd347..37fc7282f1a 100644
--- a/gcc/fortran/trans-expr.c
+++ b/gcc/fortran/trans-expr.c
@@ -935,16 +935,14 @@ gfc_conv_power_op (gfc_se * se, gfc_expr * expr)
switch (kind)
{
case 4:
- fndecl = gfor_fndecl_math_cpowf;
+ fndecl = built_in_decls[BUILT_IN_CPOWF];
break;
case 8:
- fndecl = gfor_fndecl_math_cpow;
+ fndecl = built_in_decls[BUILT_IN_CPOW];
break;
case 10:
- fndecl = gfor_fndecl_math_cpowl10;
- break;
case 16:
- fndecl = gfor_fndecl_math_cpowl16;
+ fndecl = built_in_decls[BUILT_IN_CPOWL];
break;
default:
gcc_unreachable ();