[Openmcl-devel] BUG: incorrect return from SBIT (ARM32)

Gary Byers gb at clozure.com
Thu Dec 8 09:47:56 PST 2011


No, that's actually a different bug (one that'd occur on inlined calls to SBIT
with a single constant-valued index when (= 2 (mod index 32))).

? (defun foo0 (a) (sbit a 0))
FOO0
? (defun foo1 (a) (sbit a 1))
FOO1
? (defun foo2 (a) (sbit a 2))
FOO2
? (defun foo3 (a) (sbit a 3))
FOO3
? (foo3 #*1001)
1  ; right
? (foo0 #*1001)
1  ; right
? (foo1 #*1001)
0  ; right
? (foo2 #*1001)
1  ; wrong, and in this case visibly so.


Do you see SBIT errors when this condition doesn't hold ?



On Thu, 8 Dec 2011, Eric Marsden wrote:

>>>>>> "gb" == Gary Byers <gb at clozure.com> writes:
>
>  gb> Thanks.  I think that you reported this (or something very similar) about 10
>  gb> days ago, and it was supposed to have been (and seems to have been) fixed
>  gb> in r15097.
>
>  OK, thanks, but I am still seeing errors with SBIT in current trunk (I
>  assumed that the root cause was the same ...).
>
>
> Welcome to Clozure Common Lisp Version 1.8-dev-r15116M-trunk  (LinuxARM32)!
> ? (lambda (a) (declare (type (simple-bit-vector 4) a)) (sbit a 2))
> #<Anonymous Function #x545E6C56>
> ? (funcall * #*1001)
> 1
>
> -- 
> Eric Marsden
>
> _______________________________________________
> Openmcl-devel mailing list
> Openmcl-devel at clozure.com
> http://clozure.com/mailman/listinfo/openmcl-devel
>
>



More information about the Openmcl-devel mailing list