From 291a4146318d949e63497c4f2512824be0b29390 Mon Sep 17 00:00:00 2001
From: cwang <cwang>
Date: Wed, 16 Jun 2004 23:09:40 +0000
Subject: [PATCH] Unfortunately, I need to put the hardwired constants back
 into fixnumize. Cross-compiling from x86 to amd64 requires it.

---
 compiler/generic/utils.lisp | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/compiler/generic/utils.lisp b/compiler/generic/utils.lisp
index cce0e082b..bd7dba570 100644
--- a/compiler/generic/utils.lisp
+++ b/compiler/generic/utils.lisp
@@ -5,7 +5,7 @@
 ;;; Carnegie Mellon University, and has been placed in the public domain.
 ;;;
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/generic/utils.lisp,v 1.9 2004/05/24 23:18:37 cwang Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/generic/utils.lisp,v 1.10 2004/06/16 23:09:40 cwang Rel $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -25,7 +25,10 @@
 
 (defun fixnumize (num)
   "Make a fixnum out of NUM.  (i.e. shift by two bits if it will fit.)"
-  (if (<= most-negative-fixnum num most-positive-fixnum)
+  ;; the bounds must be hardcoded for cross-compilation
+  (if (<= #-amd64 #x-20000000 #+amd64 #x-2000000000000000
+	  num
+	  #-amd64 #x1fffffff #+amd64 #x1fffffffffffffff)
       (ash num (1- vm:lowtag-bits))
       (error "~D is too big for a fixnum." num)))
 
-- 
GitLab