Production version: 2.6.6 (CVS tag Version_2_6_6)
Testing version: (CVS tag Version_2_7_0t3)
This is just a bundle of accumulated bug fixes -- no new compiler
features, which I hope to be committing to CVS head in the next few
days. Am checking the acl2 build now -- tagging anyway as it looks
good and its late :-).
changelog:
=============================================================================
* Begin centralizing C types in compiler. Prevent passing unboxed
integers across functions, prepare for doing so with short and long
floats instead.
* TAGS in lsp and cmpnew
* reorder types for quick predicates, define some useful macros to
same end
* hash improvements courtesy of Boyer and Hunt, many thanks
* print-object for defstruct
* Only eval proper lists
* read error on non-real complex components
* nil means standard readtable
=============================================================================
Take care,
"Eric W. Smith" <[EMAIL PROTECTED]> writes:
> Camm,
>
> We at Rockwell are using gcl-2.7.0-t2 and we found a bug which we boiled down
> to the following somewhat odd example. Could you take a look?
>
> Thanks,
> -Eric Smith
>
> (defun foo (n y)
> (if (<= n 18)
> y
> (foo 17 y)))
>
> (proclaim '(function foo (unsigned-byte t) t))
>
> (compile 'foo)
>
> ;We expect this to return 2147483648 (since x shouldn't get changed) but it
> returns 17 ! All seems to work correctly here if we skip the compile step.
>
> (let* ((x 2147483648)
> (y (foo x 0))
> )
> x)
>
>
>
>
--
Camm Maguire [EMAIL PROTECTED]
==========================================================================
"The earth is but one country, and mankind its citizens." -- Baha'u'llah
_______________________________________________
Gcl-devel mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/gcl-devel