[Ecls-list] ecl cvs HEAD broken

Geo Carncross geocar at gmail.com
Fri May 2 12:36:30 UTC 2008


This is affecting me as well. It looks like the change in 30apr08 in
src/h/eval.h to

1.6          (jgarcia  30-Apr-08): #define CAR(x)		(Null(x)? (x) :
ECL_CONS_CAR(x))

from:

1.1          (jjgarcia 26-Jun-01): #define CAR(x)		(x)->cons.car

is what did it. The compiler is apparently generating CAR(x) = foo
where it needs to be creating ECL_RPLACA(x,foo) statements.

Applying the attached patch should fix it- since the offending code is
always part of a closure, changing:
(defun wt-env (clv) (wt "CAR(CLV" clv ")"))

in src/cmp/cmpvar.lsp to:

(defun wt-env (clv) (wt "ECL_CONS_CAR(CLV" clv ")"))

should do it. The patch is also available at:

http://geocar.googlepages.com/ecl-cmp-fix-car.patch

if you can't receive attachments (for whatever reason)

On Thu, May 1, 2008 at 11:23 PM, Gabriel Dos Reis <gdr at cs.tamu.edu> wrote:
>
>  Hi,
>
>   An attempt at building a freshly updated ECL CVS HEAD failed with
>
>
>  /home/gdr/src/ecl.cvs/build/lsp/helpfile.c: In function 'L4dump_help_file':
>  /home/gdr/src/ecl.cvs/build/lsp/helpfile.c:96: error: invalid lvalue in assignment
>  /home/gdr/src/ecl.cvs/build/lsp/helpfile.c: In function 'LC3__g11934':
>  /home/gdr/src/ecl.cvs/build/lsp/helpfile.c:170: error: invalid lvalue in assignment
>  LAMBDA: Too many arguments to function CONTINUE.
>  Broken at TOP-LEVEL. File: #P"/home/gdr/src/ecl.cvs/src/lsp/top.lsp" (Form #26)No restarts available.
>  Top level.
>  SI>
>
>
>  This is on openSUSE-10.2/x86_64 with system installed GCC-4.1.2.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ecl-cmp-fix-car.patch
Type: application/octet-stream
Size: 638 bytes
Desc: not available
URL: <https://mailman.common-lisp.net/pipermail/ecl-devel/attachments/20080502/4ade900b/attachment.obj>


More information about the ecl-devel mailing list