[Openmcl-devel] openmcl as sbcl build host
bryan-lisp at lunch.org
Wed Aug 31 20:56:15 UTC 2005
it looks like i volunteered myself. ;)
Christophe Rhodes in #lisp helped un-confuse me and steered
me to the vop generator-function code.
the problem boils down to a declare in with-adjustable-vector
> (defmacro with-adjustable-vector ((var) &rest body)
> `(let ((,var (or (pop *adjustable-vectors*)
> (make-array 16
> :element-type '(unsigned-byte 8)
> :fill-pointer 0
> :adjustable t))))
> (declare (type (vector (unsigned-byte 8) 16) ,var))
> (setf (fill-pointer ,var) 0)
> , at body)
> (push ,var *adjustable-vectors*))))
commenting out the (declare ..) avoids the type-error.
should that declare be valid for vectors with fill-pointers?
the sbcl build is still going, but it's definitely much
On Aug 31, 2005, at 11:31 AM, bryan o'connor wrote:
> bleeding-edge no longer works as a build host for sbcl 0.9.x.
> 0.14.3 still does. it'd be nice to know if it's because of
> an openmcl bug (or regression) before the next release.
> i spent half a day looking at it and i couldn't figure it out.
> someone more knowledgeable of the sbcl source will hopefully
> have an easier time at it.
> when compiling src/code/show.lisp in make-host-2.sh,
> sb!c::generate-code funcalls the generator function for a
> SB!C:TYPE-CHECK-ERROR vop and we get the following:
> value #(31 254 14 3 254 78
> 1) is not of the expected type CCL::SIMPLE-UNSIGNED-BYTE-
> [Condition of type TYPE-ERROR]
> (the value unreadably prints as #<VECTOR 16 fill-pointer 7
> type (UNSIGNED-BYTE 8), adjustable>)
> i imagine that sb!c:type-check-error is actually generating
> that error. its presence meaning that some type-check failed
> earlier (or perhaps it's doing the type check at the moment?)
> it's the earlier part that i don't know how to find.
> the defpackage form in show.lisp seems to be responsible for
> the presence of type-check-error vop.
> any volunteers?
> Openmcl-devel mailing list
> Openmcl-devel at clozure.com
More information about the Openmcl-devel