aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/trans-expr.c
diff options
context:
space:
mode:
authorFrancois-Xavier Coudert <coudert@clipper.ens.fr>2008-02-23 19:42:04 +0100
committerFrançois-Xavier Coudert <fxcoudert@gcc.gnu.org>2008-02-23 18:42:04 +0000
commitfb2202350d6e67d9fef57a392532938270714364 (patch)
treecd6f69f8cb255a89ac25d6d47a969d01dbc4675e /gcc/fortran/trans-expr.c
parentf79db4f66eba251456c2a9c2fc9d0daef1af9e90 (diff)
downloadgcc-fb2202350d6e67d9fef57a392532938270714364.zip
gcc-fb2202350d6e67d9fef57a392532938270714364.tar.gz
gcc-fb2202350d6e67d9fef57a392532938270714364.tar.bz2
re PR target/25477 (builtin functions should use $LDBL128 suffix on darwin when appropriate)
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. From-SVN: r132576
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 8d0392f..37fc728 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 ();