summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2009-04-21 22:37:45 +0200
committerLudovic Courtès <ludo@gnu.org>2009-05-20 23:53:09 +0200
commit5e647d08e95de4245bdd75e94929b29e095b52f2 (patch)
tree977e58a4c9ab0c8a9be4e4c60d0b11745d26c6da
parent452e13f3112f38c67d8652d284c8b96e0851c272 (diff)
downloadguile-5e647d08e95de4245bdd75e94929b29e095b52f2.tar.gz
Fix compilation of `numbers.c' on Tru64.
* libguile/numbers.c (scm_c_make_polar): Don't use sincos(3) on non-GNU platforms. Reported by Didier Godefroy <ldg@ulysium.net>.
-rw-r--r--libguile/numbers.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/libguile/numbers.c b/libguile/numbers.c
index 52dfb73a8..37435b50b 100644
--- a/libguile/numbers.c
+++ b/libguile/numbers.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
*
* Portions Copyright 1990, 1991, 1992, 1993 by AT&T Bell Laboratories
* and Bellcore. See scm_divide.
@@ -5352,7 +5352,12 @@ SCM
scm_c_make_polar (double mag, double ang)
{
double s, c;
-#if HAVE_SINCOS
+
+ /* The sincos(3) function is undocumented an broken on Tru64. Thus we only
+ use it on Glibc-based systems that have it (it's a GNU extension). See
+ http://lists.gnu.org/archive/html/guile-user/2009-04/msg00033.html for
+ details. */
+#if (defined HAVE_SINCOS) && (defined __GLIBC__) && (defined _GNU_SOURCE)
sincos (ang, &s, &c);
#else
s = sin (ang);