diff options
author | Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> | 2008-03-12 10:24:29 +0000 |
---|---|---|
committer | François-Xavier Coudert <fxcoudert@gcc.gnu.org> | 2008-03-12 10:24:29 +0000 |
commit | cb31c4bcc5e8ef33ba4364453f02f3e1ddb557e9 (patch) | |
tree | 64e6147ed11736145fc51d92097a25b23f6523f6 | |
parent | 7c8f7639c5512799bed5c441e06964bd4ca32961 (diff) | |
download | gcc-cb31c4bcc5e8ef33ba4364453f02f3e1ddb557e9.zip gcc-cb31c4bcc5e8ef33ba4364453f02f3e1ddb557e9.tar.gz gcc-cb31c4bcc5e8ef33ba4364453f02f3e1ddb557e9.tar.bz2 |
re PR libfortran/35524 (Unconditional use of expl() in libgfortran)
PR libfortran/35524
* intrinsics/erfc_scaled_inc.c: Only define the long double
variant of erfc_scaled if expl is available.
From-SVN: r133138
-rw-r--r-- | libgfortran/ChangeLog | 6 | ||||
-rw-r--r-- | libgfortran/intrinsics/erfc_scaled_inc.c | 18 |
2 files changed, 22 insertions, 2 deletions
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index 2ada263..422475b 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,9 @@ +2008-03-12 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + + PR libfortran/35524 + * intrinsics/erfc_scaled_inc.c: Only define the long double + variant of erfc_scaled if expl is available. + 2008-03-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR libfortran/32812 diff --git a/libgfortran/intrinsics/erfc_scaled_inc.c b/libgfortran/intrinsics/erfc_scaled_inc.c index fab81558..cabdb34 100644 --- a/libgfortran/intrinsics/erfc_scaled_inc.c +++ b/libgfortran/intrinsics/erfc_scaled_inc.c @@ -35,16 +35,28 @@ Boston, MA 02110-1301, USA. */ #define KIND_SUFFIX(x,y) CONCAT(x,y) #if (KIND == 4) + # define EXP(x) expf(x) # define TRUNC(x) truncf(x) + #elif (KIND == 8) + # define EXP(x) exp(x) # define TRUNC(x) trunc(x) + #else -# define EXP(x) expl(x) -# define TRUNC(x) truncl(x) + +# ifdef HAVE_EXPL +# define EXP(x) expl(x) +# endif +# ifdef HAVE_TRUNCL +# define TRUNC(x) truncl(x) +# endif + #endif +#if defined(EXP) && defined(TRUNC) + extern TYPE KIND_SUFFIX(erfc_scaled_r,KIND) (TYPE); export_proto(KIND_SUFFIX(erfc_scaled_r,KIND)); @@ -167,6 +179,8 @@ finish: return res; } +#endif + #undef EXP #undef TRUNC |