changeset 614:42bfaea76395

[xemacs-hg @ 2001-06-11 01:55:26 by martinb] DECIMAL_PRINT_SIZE sun cc bug workaround
author martinb
date Mon, 11 Jun 2001 01:55:28 +0000
parents 023b83f4e54b
children 4f50f8a33f96
files src/ChangeLog src/lisp.h
diffstat 2 files changed, 12 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog	Sun Jun 10 10:42:39 2001 +0000
+++ b/src/ChangeLog	Mon Jun 11 01:55:28 2001 +0000
@@ -1,3 +1,9 @@
+2001-06-11  Martin Buchholz  <martin@xemacs.org>
+
+	* lisp.h (DECIMAL_PRINT_SIZE): Don't use floating point.
+	Sun cc (buggily?) cannot use floating point computations to define
+	a compile-time integral constant.
+
 2001-06-10  Ben Wing  <ben@xemacs.org>
 
 
--- a/src/lisp.h	Sun Jun 10 10:42:39 2001 +0000
+++ b/src/lisp.h	Mon Jun 11 01:55:28 2001 +0000
@@ -2856,9 +2856,13 @@
 /* The number of bytes required to store the decimal printed
    representation of an integral type.  Add a few bytes for truncation,
    optional sign prefix, and null byte terminator.
-   2.40824 == log (256) / log (10).  */
+   2.40824 == log (256) / log (10).
+
+   We don't use floating point since Sun cc (buggily?) cannot use
+   floating point computations to define a compile-time integral
+   constant. */
 #define DECIMAL_PRINT_SIZE(integral_type) \
-((size_t) (2.40824 * sizeof (integral_type)) + 3)
+(((2410824 * sizeof (integral_type)) / 1000000) + 3)
 void long_to_string (char *, long);
 
 void print_internal (Lisp_Object, Lisp_Object, int);