re PR target/25477 (builtin functions should use $LDBL128 suffix on darwin when appro...
authorFrancois-Xavier Coudert <coudert@clipper.ens.fr>
Sat, 23 Feb 2008 18:42:04 +0000 (19:42 +0100)
committerFrançois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Sat, 23 Feb 2008 18:42:04 +0000 (18:42 +0000)
commitfb2202350d6e67d9fef57a392532938270714364
treecd6f69f8cb255a89ac25d6d47a969d01dbc4675e
parentf79db4f66eba251456c2a9c2fc9d0daef1af9e90
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
14 files changed:
gcc/ChangeLog
gcc/config/darwin-ppc-ldouble-patch.def [new file with mode: 0644]
gcc/config/darwin-protos.h
gcc/config/darwin.c
gcc/config/rs6000/darwin.h
gcc/config/rs6000/rs6000.c
gcc/fortran/ChangeLog
gcc/fortran/f95-lang.c
gcc/fortran/trans-decl.c
gcc/fortran/trans-expr.c
gcc/fortran/trans.h
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/large_real_kind_2.F90
gcc/testsuite/gfortran.dg/large_real_kind_3.F90 [new file with mode: 0644]