From ceb6da3f8b76dd00ae4204fcc1fec937cce3f727 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 21 Apr 2009 22:37:45 +0200 Subject: [PATCH] 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 . --- libguile/numbers.c | 9 +++++++-- 1 file 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);