1.0.33.3: restore buildability from CMUCL
authorChristophe Rhodes <csr21@cantab.net>
Wed, 2 Dec 2009 08:54:43 +0000 (08:54 +0000)
committerChristophe Rhodes <csr21@cantab.net>
Wed, 2 Dec 2009 08:54:43 +0000 (08:54 +0000)
- Add extra keyword in the ftype declaration for %DEFKNOWN (oh, the irony);
- move the THREAD structure into the cross-compiler, so that MUTEX slots
  can be declared to have type (OR NULL THREAD);
- IGNORE on non-binding in saptran

(build failure reported by xme@gmx.net)

NEWS
src/code/target-thread.lisp
src/code/thread.lisp
src/compiler/knownfun.lisp
src/compiler/saptran.lisp
version.lisp-expr

diff --git a/NEWS b/NEWS
index 488934f..4eb69e3 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,10 +1,11 @@
 ;;;; -*- coding: utf-8; fill-column: 78 -*-
-
 changes relative to sbcl-1.0.33:
   * enhancement: SB-INTROSPECT:DEFTYPE-LAMBDA-LIST now also works on most
     builtin types.
-  * bug fix: #p"\\\\" can now be read without error on Win32 (reported by
-Willem Broekema; launchpad bug #489698).
+  * bug fix: #p"\\\\" can now be read without error on Win32.  (reported by
+    Willem Broekema; launchpad bug #489698).
+  * bug fix: some minor code rearrangements to reenable warning-free building
+    from CMUCL (reported by xme@gmx.net; launchpad bug #491104)
 
 changes in sbcl-1.0.33 relative to sbcl-1.0.32:
   * new port: support added for x86-64 NetBSD.  (thanks to Aymeric Vincent)
index a73ec31..ad83197 100644 (file)
@@ -103,18 +103,6 @@ instead.")
 (setf (fdocumentation '*current-thread* 'variable)
       "Bound in each thread to the thread itself.")
 
-(defstruct (thread (:constructor %make-thread))
-  #!+sb-doc
-  "Thread type. Do not rely on threads being structs as it may change
-in future versions."
-  name
-  %alive-p
-  os-thread
-  interruptions
-  (interruptions-lock (make-mutex :name "thread interruptions lock"))
-  result
-  (result-lock (make-mutex :name "thread result lock")))
-
 #!+sb-doc
 (setf
  (fdocumentation 'thread-name 'function)
index a44b763..029633c 100644 (file)
 
 (in-package "SB!THREAD")
 
+(def!struct (thread (:constructor %make-thread))
+  #!+sb-doc
+  "Thread type. Do not rely on threads being structs as it may change
+in future versions."
+  name
+  %alive-p
+  os-thread
+  interruptions
+  (interruptions-lock (make-mutex :name "thread interruptions lock"))
+  result
+  (result-lock (make-mutex :name "thread result lock")))
+
 (def!struct mutex
   #!+sb-doc
   "Mutex type."
index ddfd4c8..e121815 100644 (file)
 (declaim (ftype (function (list list attributes &key
                                 (:derive-type (or function null))
                                 (:optimizer (or function null))
-                                (:destroyed-constant-args (or function null)))
+                                (:destroyed-constant-args (or function null))
+                                (:result-arg (or index null)))
                           *)
                 %defknown))
-(defun %defknown (names type attributes &key derive-type optimizer destroyed-constant-args
-                  result-arg)
+(defun %defknown (names type attributes &key derive-type optimizer destroyed-constant-args result-arg)
   (let ((ctype (specifier-type type))
         (info (make-fun-info :attributes attributes
                              :derive-type derive-type
index ed407c8..19945d2 100644 (file)
             (sap+ sap (+ offset1 offset2))))))
 
 (macrolet ((def (fun &optional setp value-type)
-             (declare (ignorable value-type) (ignore element-size))
+             (declare (ignorable value-type))
              `(progn
                 (deftransform ,fun ((sap offset ,@(when setp `(new-value))) * *)
                   (splice-fun-args sap 'sap+ 2)
index 6d6c89b..3df3046 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"1.0.33.2"
+"1.0.33.3"