From: Stas B. <sta...@gm...> - 2011-03-05 17:58:06
|
Stas Boukarev <sta...@gm...> writes: > Stas Boukarev <sta...@gm...> writes: > >> Eric Marsden <eri...@fr...> writes: >> >>> ,---- >>> | * (lambda (a b) >>> | (declare (type (integer 3 3) a)) >>> | (declare (type (integer -429916031303919 11679277015516172) b)) >>> | (declare (optimize (debug 2))) >>> | (reduce >>> | (lambda (x y) (sbit #*10011110110110 (if (< a b) x -255237862851))) >>> | (list 1 2 3))) >>> | debugger invoked on a TYPE-ERROR: The value NIL is not of type NUMBER. >>> | >>> | restarts (invokable by number or by possibly-abbreviated name): >>> | 0: [ABORT] Exit debugger, returning to top level. >>> | ((FLET #:BOD[INIT-LIVE-TNS]676) #<SB-C:TN t1>) >>> | 0] backtrace >>> | 0: ((FLET #:BOD[INIT-LIVE-TNS]676) #<SB-C:TN t1>) >>> | 1: (SB-C::INIT-LIVE-TNS >>> | #<SB-C::IR2-BLOCK >>> | :START-VOP #<SB-C::VOP >>> | :INFO SB-C:XEP-ALLOCATE-FRAME >>> | :ARGS NIL >>> | :RESULTS NIL >>> | :CODEGEN-INFO (# NIL)> >>> | :LAST-VOP #<SB-C::VOP :INFO SB-VM::SAP-MOVE :ARGS # :RESULTS #> >>> | :LOCAL-TN-COUNT 21>) >>> | 2: (SB-C::COMPUTE-LIVE-TNS >>> | #<SB-C::IR2-BLOCK >>> | :START-VOP #<SB-C::VOP >>> | :INFO SB-C:XEP-ALLOCATE-FRAME >>> | :ARGS NIL >>> | :RESULTS NIL >>> | :CODEGEN-INFO (# NIL)> >>> | :LAST-VOP #<SB-C::VOP :INFO SB-VM::SAP-MOVE :ARGS # :RESULTS #> >>> | :LOCAL-TN-COUNT 21> >>> | #<SB-C::VOP >>> | :INFO SB-VM::SAP-MOVE >>> | :ARGS #<SB-C:TN-REF >>> | :TN #<SB-C:TN t2[S0]> >>> | :WRITE-P NIL >>> | :VOP SB-VM::SAP-MOVE> >>> | :RESULTS #<SB-C:TN-REF >>> | :TN #<SB-C:TN t3[S0]> >>> | :WRITE-P T >>> | :VOP SB-VM::SAP-MOVE>>) >>> | 3: (SB-C::PACK-LOAD-TN >>> | #(NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL ...) >>> | #<SB-C:TN-REF :TN #<SB-C:TN t3[S0]> :WRITE-P T :VOP SB-VM::SAP-MOVE>) >>> | 4: (SB-C::PACK-LOAD-TNS >>> | #<SB-C::IR2-BLOCK >>> | :START-VOP #<SB-C::VOP >>> | :INFO SB-C:XEP-ALLOCATE-FRAME >>> | :ARGS NIL >>> | :RESULTS NIL >>> | :CODEGEN-INFO (# NIL)> >>> | :LAST-VOP #<SB-C::VOP :INFO SB-VM::SAP-MOVE :ARGS # :RESULTS #> >>> | :LOCAL-TN-COUNT 21>) >>> `---- >>> >>> SBCL 1.0.46.24 on Linux/AMD64 (doesn't trigger an error on i386 builds). >> Just changing (integer -429916031303919 11679277015516172) to >> (integer -268435456 268435456) (in the fixnum range) >> triggers the bug on 32-bit. > And a reduced test-case: > > (lambda (a b) > (declare (type (integer 1 1) a) > (type (integer 0 1) b) > (optimize (debug 2))) > (lambda () (< b a))) I filed it as https://bugs.launchpad.net/sbcl/+bug/729765 -- With Best Regards, Stas. |