~ chicken-core (chicken-5) 2b2e943b2d9de3702f7a25d2c9565a1f2230da27


commit 2b2e943b2d9de3702f7a25d2c9565a1f2230da27
Author:     felix <felix@call-with-current-continuation.org>
AuthorDate: Mon Sep 20 03:49:04 2010 -0400
Commit:     felix <felix@call-with-current-continuation.org>
CommitDate: Mon Sep 20 03:49:20 2010 -0400

    use long constants in i_o_... routines (thanks to Derrell Piper)

diff --git a/runtime.c b/runtime.c
index 60ecf35f..f9ae328f 100644
--- a/runtime.c
+++ b/runtime.c
@@ -8619,8 +8619,8 @@ C_regparm C_word C_fcall C_i_o_fixnum_times(C_word n1, C_word n2)
   C_word x1, x2;
   /* otherwise gcc tries to be smart (and naturally fails) */
 #ifdef C_SIXTY_FOUR
-  static int seven_f = 0x7fffffffffffffff;
-  static int eight_0 = 0x8000000000000000;
+  static long seven_f = 0x7fffffffffffffffL;
+  static long eight_0 = 0x8000000000000000L;
 #else
   static int seven_f = 0x7fffffff;
   static int eight_0 = 0x80000000;
@@ -8661,7 +8661,7 @@ C_regparm C_word C_fcall C_i_o_fixnum_quotient(C_word n1, C_word n2)
 {
   C_word x1, x2;
 #ifdef C_SIXTY_FOUR
-  static int eight_0 = 0x8000000000000000;
+  static long eight_0 = 0x8000000000000000L;
 #else
   static int eight_0 = 0x80000000;
 #endif
Trap