------- Comment #2 from fxcoudert at gcc dot gnu dot org 2008-03-11 07:52 ------- There's one good thing in FreeBSD: it sure helps finding any reference to a C99 long double function that is not protected by a autoconf macro :)
Can you please try the following patch and tell me whether it helps? Index: libgfortran/intrinsics/erfc_scaled_inc.c =================================================================== --- libgfortran/intrinsics/erfc_scaled_inc.c (revision 133101) +++ libgfortran/intrinsics/erfc_scaled_inc.c (working copy) @@ -35,16 +35,28 @@ #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 @@ return res; } +#endif + #undef EXP #undef TRUNC -- fxcoudert at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |fxcoudert at gcc dot gnu dot | |org AssignedTo|unassigned at gcc dot gnu |fxcoudert at gcc dot gnu dot |dot org |org Status|NEW |ASSIGNED Component|fortran |libfortran GCC target triplet| |i386-unknown-freebsd7.0 Keywords| |patch Last reconfirmed|2008-03-11 02:22:03 |2008-03-11 07:52:37 date| | Summary|[4.3/4.2 regression] EXP |[4.4 regression] |library function not found |Unconditional use of expl() |in March 7 snapshot under |in libgfortran |FreeBSD | Target Milestone|--- |4.4.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35524