I think this is the same compiler problem that is causing the failure
I just reported to cmucl-imp.

Martin

[full quote for reference]

Mark Saaltink wrote on Wed, Nov 03, 2004 at 05:36:02PM -0500: 
> Dear cmucl developers,
> 
> There seems to be an error in the compilation of fixnum operations:
> 
> (defun hash2 (x y)
>   (declare (type fixnum x y))
>   (logand (the fixnum (+ x y)) 255))
> 
> If I compile this in 19a or the 2004-11 snapshot (in linux on an x86),
> any calls where the sum is negative give an error.  For example:
> 
> * (hash2 -1 0)
> 
> Type-error in KERNEL::OBJECT-NOT-FIXNUM-ERROR-HANDLER:
>    4294967295 is not of type FIXNUM
>    [Condition of type TYPE-ERROR]
> 
> As far as I can tell, the optimization settings do not affect the outcome.
> 
> The disassembly of hash2 indicates that X86::+-MOD32 is called, so maybe
> this has to do with the recent introduction of modular arithmetic.
> 
> Mark Saaltink


Reply via email to