From: Juho Snellman Date: Wed, 1 Jun 2005 21:30:39 +0000 (+0000) Subject: 0.9.1.19: X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=8ae1a092ca40928020e48a588f6c47d18d334efe;p=sbcl.git 0.9.1.19: * 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. --- diff --git a/NEWS b/NEWS index 1951018..ff56f09 100644 --- 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 diff --git a/src/compiler/proclaim.lisp b/src/compiler/proclaim.lisp index 985816b..3890102 100644 --- a/src/compiler/proclaim.lisp +++ b/src/compiler/proclaim.lisp @@ -135,10 +135,16 @@ ;;; 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:~% ~ diff --git a/src/runtime/GNUmakefile b/src/runtime/GNUmakefile index 64acd3c..bd388d8 100644 --- a/src/runtime/GNUmakefile +++ b/src/runtime/GNUmakefile @@ -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 " > ,$@ diff --git a/version.lisp-expr b/version.lisp-expr index 6e2ba58..457e504 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -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"