1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-30 03:40:34 +02:00

Fix compilation of `numbers.c' with Sun CC.

This commit is contained in:
Ludovic Courtès 2008-02-06 13:51:05 +00:00
parent d05bcb2ede
commit 189171c5bb
4 changed files with 24 additions and 10 deletions

View file

@ -1,3 +1,7 @@
2008-02-06 Ludovic Courtès <ludo@gnu.org>
* NEWS: Mention Sun Studio compilation fix.
2008-02-05 Neil Jerram <neil@ossau.uklinux.net> 2008-02-05 Neil Jerram <neil@ossau.uklinux.net>
* configure.in (--without-64-calls): New option. * configure.in (--without-64-calls): New option.

3
NEWS
View file

@ -1,5 +1,5 @@
Guile NEWS --- history of user-visible changes. Guile NEWS --- history of user-visible changes.
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
See the end for copying conditions. See the end for copying conditions.
Please send Guile bug reports to bug-guile@gnu.org. Note that you Please send Guile bug reports to bug-guile@gnu.org. Note that you
@ -51,6 +51,7 @@ called with an associator proc that returns neither a pair nor #f.
** Secondary threads now always return a valid module for (current-module). ** Secondary threads now always return a valid module for (current-module).
** Avoid MacOS build problems caused by incorrect combination of "64" ** Avoid MacOS build problems caused by incorrect combination of "64"
system and library calls. system and library calls.
** Fixed compilation of `numbers.c' with Sun Studio (Solaris 9)
* New modules (see the manual for details) * New modules (see the manual for details)

View file

@ -1,3 +1,12 @@
2008-02-06 Ludovic Courtès <ludo@gnu.org>
* numbers.c (scm_i_mkbig, scm_i_long2big, scm_i_ulong2big,
scm_i_clonebig, scm_i_bigcmp, scm_i_dbl2big, scm_i_dbl2num,
scm_i_normbig): Remove `SCM_C_INLINE_KEYWORD' since these are
declared as `extern' in `numbers.h'. This precluded compilation
on Solaris 9 with Sun CC (reported by David Halik
<dhalik@nbcs.rutgers.edu>).
2008-02-05 Neil Jerram <neil@ossau.uklinux.net> 2008-02-05 Neil Jerram <neil@ossau.uklinux.net>
* fports.c (fport_seek): Make dependent on GUILE_USE_64_CALLS. * fports.c (fport_seek): Make dependent on GUILE_USE_64_CALLS.

View file

@ -1,4 +1,4 @@
/* Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005, 2006, 2007 Free Software Foundation, Inc. /* Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005, 2006, 2007, 2008 Free Software Foundation, Inc.
* *
* Portions Copyright 1990, 1991, 1992, 1993 by AT&T Bell Laboratories * Portions Copyright 1990, 1991, 1992, 1993 by AT&T Bell Laboratories
* and Bellcore. See scm_divide. * and Bellcore. See scm_divide.
@ -183,7 +183,7 @@ static mpz_t z_negative_one;
SCM_C_INLINE_KEYWORD SCM SCM
scm_i_mkbig () scm_i_mkbig ()
{ {
/* Return a newly created bignum. */ /* Return a newly created bignum. */
@ -192,7 +192,7 @@ scm_i_mkbig ()
return z; return z;
} }
SCM_C_INLINE_KEYWORD SCM SCM
scm_i_long2big (long x) scm_i_long2big (long x)
{ {
/* Return a newly created bignum initialized to X. */ /* Return a newly created bignum initialized to X. */
@ -201,7 +201,7 @@ scm_i_long2big (long x)
return z; return z;
} }
SCM_C_INLINE_KEYWORD SCM SCM
scm_i_ulong2big (unsigned long x) scm_i_ulong2big (unsigned long x)
{ {
/* Return a newly created bignum initialized to X. */ /* Return a newly created bignum initialized to X. */
@ -210,7 +210,7 @@ scm_i_ulong2big (unsigned long x)
return z; return z;
} }
SCM_C_INLINE_KEYWORD SCM SCM
scm_i_clonebig (SCM src_big, int same_sign_p) scm_i_clonebig (SCM src_big, int same_sign_p)
{ {
/* Copy src_big's value, negate it if same_sign_p is false, and return. */ /* Copy src_big's value, negate it if same_sign_p is false, and return. */
@ -221,7 +221,7 @@ scm_i_clonebig (SCM src_big, int same_sign_p)
return z; return z;
} }
SCM_C_INLINE_KEYWORD int int
scm_i_bigcmp (SCM x, SCM y) scm_i_bigcmp (SCM x, SCM y)
{ {
/* Return neg if x < y, pos if x > y, and 0 if x == y */ /* Return neg if x < y, pos if x > y, and 0 if x == y */
@ -231,7 +231,7 @@ scm_i_bigcmp (SCM x, SCM y)
return result; return result;
} }
SCM_C_INLINE_KEYWORD SCM SCM
scm_i_dbl2big (double d) scm_i_dbl2big (double d)
{ {
/* results are only defined if d is an integer */ /* results are only defined if d is an integer */
@ -242,7 +242,7 @@ scm_i_dbl2big (double d)
/* Convert a integer in double representation to a SCM number. */ /* Convert a integer in double representation to a SCM number. */
SCM_C_INLINE_KEYWORD SCM SCM
scm_i_dbl2num (double u) scm_i_dbl2num (double u)
{ {
/* SCM_MOST_POSITIVE_FIXNUM+1 and SCM_MOST_NEGATIVE_FIXNUM are both /* SCM_MOST_POSITIVE_FIXNUM+1 and SCM_MOST_NEGATIVE_FIXNUM are both
@ -339,7 +339,7 @@ scm_i_big2dbl (SCM b)
return result; return result;
} }
SCM_C_INLINE_KEYWORD SCM SCM
scm_i_normbig (SCM b) scm_i_normbig (SCM b)
{ {
/* convert a big back to a fixnum if it'll fit */ /* convert a big back to a fixnum if it'll fit */