[Ecls-list] Three out of three

Juan Jose Garcia-Ripoll worm at arrakis.es
Thu Nov 6 00:43:09 UTC 2003


The errors reported by Paul have been fixed. The file "random-int-form" of his 
test suite now compiles and runs under ECL, with few errors showing up every 
now and then. The errors fit, as far as I have seen, in the category of 
errors due to "excesive optimization" (i.e. results are different when 
compiling with (speed 3) (safety 1) (space 0)).

On Wednesday 05 November 2003 14:34, Paul F. Dietz wrote:
> ;;; Bug in ecl (cvs head, 4 Nov 2003)
> ;;; "/tmp/ecl04Coiwc0V.c:48: `lex0' undeclared (first use in this
> function)"
> (deftest misc.154
>    (funcall
>     (compile nil
> 	    '(lambda (b)
> 	       (labels ((%f8 nil -39011))
> 		 (flet ((%f4 (f4-1 f4-2 &optional (f4-3 (%f8)) (f4-4 b))
> 			     (%f8)))
> 		   (%f4 -260093 -75538 -501684 (let ((v9 (%f8))) -3))))))
>     0)
>    -39011)

The number of different lexical environments was not properly computed for 
LABELS forms. This only showed up when nesting FLET within LABELS.

> ;;; "The function C::LDB1 is undefined."
> (deftest misc.156
>    (funcall
>     (compile nil
> 	    '(lambda ()
> 	       (let ((v6 (ldb (byte 30 1) 1473))) (let ((v8 v6)) 2395)))))
>    2395)

The optimizer for LDB did not consider the case when the output is required to 
be in boxed form (i.e. fixnum + lisp tags).

Regards,

Juanjo





More information about the ecl-devel mailing list