diff --git a/code/alieneval.lisp b/code/alieneval.lisp index 99675174b09bf828e9452c0dedf30c34749fbe4a..0628e1d6d21c9bab7615b58ccfa3fa980eb37e27 100644 --- a/code/alieneval.lisp +++ b/code/alieneval.lisp @@ -7,7 +7,7 @@ ;;; Scott Fahlman or slisp-group@cs.cmu.edu. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/alieneval.lisp,v 1.32 1993/08/18 21:47:25 ram Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/alieneval.lisp,v 1.33 1993/08/26 15:27:02 wlott Exp $") ;;; ;;; ********************************************************************** ;;; @@ -1399,11 +1399,11 @@ ;;;; Runtime C values that don't correspond directly to Lisp types. ;;; ALIEN-VALUE -;;; -(defstruct (alien-value - (:print-function %print-alien-value)) - (sap (required-argument) :type system-area-pointer) - (type (required-argument) :type alien-type)) +;;; +;;; The defstruct for alien-value lives in struct.lisp 'cause it has to be +;;; real early in the cold-load order. +;;; +(declaim (freeze-type alien-value)) ;;; (defun %print-alien-value (value stream depth) (declare (ignore depth)) @@ -1413,8 +1413,6 @@ (unparse-alien-type (alien-value-type value)) (sap-int (alien-value-sap value))))) -(declaim (freeze-type alien-value)) - (declaim (inline null-alien)) (defun null-alien (x) "Return true if X (which must be an Alien pointer) is null, false otherwise." diff --git a/code/struct.lisp b/code/struct.lisp index 094036bb302d6d31f16e8bdf681fff207705e6af..b4daec4181f2f75a2b3ad687989fa5632c0187ad 100644 --- a/code/struct.lisp +++ b/code/struct.lisp @@ -7,7 +7,7 @@ ;;; Scott Fahlman or slisp-group@cs.cmu.edu. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/struct.lisp,v 1.16 1993/04/04 10:00:34 wlott Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/struct.lisp,v 1.17 1993/08/26 15:26:49 wlott Exp $") ;;; ;;; ********************************************************************** ;;; @@ -50,3 +50,14 @@ (:predicate nil) (:print-function condition-print)) ) + + + +;;; Alien value structures: + +(in-package "ALIEN") + +(defstruct (alien-value + (:print-function %print-alien-value)) + (sap (required-argument) :type system-area-pointer) + (type (required-argument) :type alien-type))