Update of /cvsroot/sbcl/sbcl/contrib/sb-grovel
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27385/contrib/sb-grovel
Modified Files:
defpackage.lisp foreign-glue.lisp
Log Message:
0.8.12.7: Merge package locks, AKA "what can go wrong with a 3783 line patch?"
... Controlled by the presence of :sb-package-locks in target
features.
... This builds both with and without package locks on both
x86 Linux and SunOS Sparc, with both CMUCL and SBCL
as host -- so chances are it should build elsewhere as
well.
... Remaining TODO: turn package locking errors from lexical
constructs to program errors in the produced code, fix
the bits in SBCL that hit host's SBCL-tyle package locks
(relevant FIXME is in src/cold/shared.lisp).
Index: defpackage.lisp
===================================================================
RCS file: /cvsroot/sbcl/sbcl/contrib/sb-grovel/defpackage.lisp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- defpackage.lisp 9 Apr 2003 01:03:41 -0000 1.1
+++ defpackage.lisp 29 Jun 2004 08:50:57 -0000 1.2
@@ -1,4 +1,9 @@
(defpackage "SB-GROVEL"
(:export "GROVEL-CONSTANTS-FILE")
+ (:shadow "TYPE" "UNION")
+ ;; FIXME: This is a really quick and dirty package lock compliance
+ ;; fix, that should be redone. Specifically, this is needed to address the
+ ;; nasty things done with SB-ALIEN:STRUCT.
+ #+sb-package-locks
+ (:implement "SB-ALIEN")
(:use "COMMON-LISP" "SB-ALIEN" "ASDF" "SB-EXT"))
-
Index: foreign-glue.lisp
===================================================================
RCS file: /cvsroot/sbcl/sbcl/contrib/sb-grovel/foreign-glue.lisp,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- foreign-glue.lisp 30 May 2004 21:34:10 -0000 1.6
+++ foreign-glue.lisp 29 Jun 2004 08:50:57 -0000 1.7
@@ -303,14 +303,14 @@
(labels ((accessor (root rpath)
(apply #'sane-slot 'struct (mapcar 'name (append (rest rpath)
(list root))))))
`((defun ,(intern accessor-name) (struct)
- (declare (type (alien ,struct-name) struct)
+ (declare (cl:type (alien ,struct-name) struct)
(optimize (speed 3)))
(,(accessor-modifier-for (reintern (type root) (find-package
:sb-grovel))
:getter)
,(accessor root rpath) ,(size root)))
(defun (setf ,(intern accessor-name)) (new-val struct)
- (declare (type (alien ,struct-name) struct)
- (type ,(lisp-type-for (type root) (size root)) new-val)
+ (declare (cl:type (alien ,struct-name) struct)
+ (cl:type ,(lisp-type-for (type root) (size root)) new-val)
(optimize (speed 3)))
,(let* ((accessor-modifier (accessor-modifier-for (reintern (type
root)
(find-package :sb-grovel))
-------------------------------------------------------
This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 -
digital self defense, top technical experts, no vendor pitches,
unmatched networking opportunities. Visit www.blackhat.com
|