[Ecls-list] Ironclad on ECL doesn't work
creelman.david at gmail.com
Sun Jan 18 03:13:30 UTC 2009
On Sat, Jan 17, 2009 at 08:37:27PM -0500, Nathan Froyd wrote:
> On Sat, Jan 17, 2009 at 8:09 PM, David Creelman
> <creelman.david at gmail.com> wrote:
> > In ECL, I get a failure as reproduced below.
> > ;;; In the argument 1 of a call to SVREF, the type of the form REGS is (VECTOR SI:CL-INDEX), not (VECTOR T).Broken at SI:BYTECODES.Available restarts:
> > 1. (TRY-RECOMPILING) Try recompiling md4
> > 2. (RETRY) Retry performing #<ASDF:COMPILE-OP NIL 169327160> on #<IRONCLAD-SYSTEM::IRONCLAD-SOURCE-FILE "md4" "ironclad" 168497016>.
> > 3. (ACCEPT) Continue, treating #<ASDF:COMPILE-OP NIL 169327160> on #<IRONCLAD-SYSTEM::IRONCLAD-SOURCE-FILE "md4" "ironclad" 168497016> as having been successful.
> > Broken at LAMBDA. File: #P"/home/dc/learn/lisp/ironclad_0.26/ironclad.asd" (Form #10)
> Hm, I don't use ECL, but this looks to me like ECL is broken. My
> guess is that ECL doesn't correctly handle something like:
> (defstruct (foo (:type (vector (unsigned-byte 32))))
> (a 0) (b 0) (c 0) (d 0))
> and then doing something like:
> (foo-a (make-foo))
> in compiled code.
> And indeed, looking at src/cmp/cmpstructures.lsp, function
> MAYBE-OPTIMIZE-STRUCTURE-ACCESS, in ECL's source tree, indicates that
> it does the wrong thing for structures that are actually specialized
> vectors. I'd advise filing a bug with ECL.
Okay, thanks for that.
Just passing this one on.
More information about the ecl-devel