From 10fbe363665bbebb7e2da845235bf2254203d633 Mon Sep 17 00:00:00 2001
From: rtoy <rtoy>
Date: Tue, 29 Nov 2005 17:02:53 +0000
Subject: [PATCH] We were not properly creating a unsigned 64-bit int from the
 two halves. This should be fixed in a different way by defining a unsigned-64
 type.

---
 compiler/sparc/c-call.lisp | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/compiler/sparc/c-call.lisp b/compiler/sparc/c-call.lisp
index 7cb4e3162..5ba80880e 100644
--- a/compiler/sparc/c-call.lisp
+++ b/compiler/sparc/c-call.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/sparc/c-call.lisp,v 1.26 2005/09/29 14:43:11 rtoy Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/sparc/c-call.lisp,v 1.27 2005/11/29 17:02:53 rtoy Rel $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -331,7 +331,9 @@
       (alien::integer-64$
        ;; Same as for double, above
        `(let ((hi (alien:deref (sap-alien (sys:sap+ ,sp ,offset)
-					  (* c-call:int))))
+					  ,(if (alien-integer-type-signed parsed-type)
+					       '(* c-call:int)
+					       '(* c-call:unsigned-int)))))
 	      (lo (alien:deref (sap-alien (sys:sap+ ,sp
 						    (+ ,offset vm:word-bytes))
 					  (* c-call:unsigned-int)))))
-- 
GitLab