[Ecls-list] Ironclad on ECL doesn't work

David Creelman 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.

Hi Nathan,
Okay, thanks for that.

Hi Juanjo,
Just passing this one on.

Regards
David

> -Nathan




More information about the ecl-devel mailing list