This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libfortran/35524] [4.4 regression] Unconditional use of expl() in libgfortran
- From: "fxcoudert at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 11 Mar 2008 07:52:38 -0000
- Subject: [Bug libfortran/35524] [4.4 regression] Unconditional use of expl() in libgfortran
- References: <bug-35524-14284@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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