0.9.1.19:
authorJuho Snellman <jsnell@iki.fi>
Wed, 1 Jun 2005 21:30:39 +0000 (21:30 +0000)
committerJuho Snellman <jsnell@iki.fi>
Wed, 1 Jun 2005 21:30:39 +0000 (21:30 +0000)
* Fix build on multiarch x86-64
        * Fix small ansi-bug. The (declare (typespec var*)) abbreviation for
          (declare (type typespec var*)) now works with all type specifiers.
          Previously only symbols were allowed.

NEWS
src/compiler/proclaim.lisp
src/runtime/GNUmakefile
version.lisp-expr

diff --git a/NEWS b/NEWS
index 1951018..ff56f09 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -22,6 +22,8 @@ changes in sbcl-0.9.2 relative to sbcl-0.9.1:
        *READ-SUPPRESS* is T
     ** Signal an error if a symbol that names a declaration is used
        as the name of a type, or vice versa
+    ** Allow using the (declare (typespec var*)) abbreviation for 
+       (declare (type typespec var*)) with all type specifiers.
 
 changes in sbcl-0.9.1 relative to sbcl-0.9.0:
   * fixed cross-compiler leakages that prevented building a 32-bit
index 985816b..3890102 100644 (file)
 ;;; implements that by converting (FOO X Y) to (TYPE FOO X Y).
 (defun canonized-decl-spec (decl-spec)
   (let ((id (first decl-spec)))
-    (unless (symbolp id)
-      (error "The declaration identifier is not a symbol: ~S" id))
-    (let ((id-is-type (info :type :kind id))
+    (let ((id-is-type (if (symbolp id)
+                         (info :type :kind id)
+                         ;; A cons might not be a valid type specifier,
+                         ;; but it can't be a declaration either. 
+                         (or (consp id)
+                             (typep id 'class))))
          (id-is-declared-decl (info :declaration :recognized id)))
+      ;; FIXME: Checking ID-IS-DECLARED is probably useless these days,
+      ;; since we refuse to use the same symbol as both a type name and
+      ;; recognized declaration name. 
       (cond ((and id-is-type id-is-declared-decl)
             (compiler-error
              "ambiguous declaration ~S:~%  ~
index 64acd3c..bd388d8 100644 (file)
@@ -48,8 +48,8 @@ OBJS = $(C_SRC:.c=.o) $(ASSEM_SRC:.S=.o) ${OS_OBJS}
 
 LIBS = ${OS_LIBS} -lm
 
-sbcl: $(OBJS) $(LIBS)
-       $(CC) ${LINKFLAGS} -o $@ $^
+sbcl: $(OBJS)
+       $(CC) ${LINKFLAGS} -o $@ $^ $(LIBS)
 
 sbcl.nm: sbcl
        $(NM) sbcl | grep -v " F \| U " > ,$@
index 6e2ba58..457e504 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".)
-"0.9.1.18"
+"0.9.1.19"