compiler tests: add test case for coalescing bug
parent
e1c7f7394a
commit
21489ce85e
|
@ -2,7 +2,8 @@ USING: generalizations accessors arrays compiler kernel kernel.private
|
||||||
math hashtables.private math.private namespaces sequences tools.test
|
math hashtables.private math.private namespaces sequences tools.test
|
||||||
namespaces.private slots.private sequences.private byte-arrays alien
|
namespaces.private slots.private sequences.private byte-arrays alien
|
||||||
alien.accessors layouts words definitions compiler.units io
|
alien.accessors layouts words definitions compiler.units io
|
||||||
combinators vectors grouping make alien.c-types combinators.short-circuit ;
|
combinators vectors grouping make alien.c-types combinators.short-circuit
|
||||||
|
math.order ;
|
||||||
QUALIFIED: namespaces.private
|
QUALIFIED: namespaces.private
|
||||||
IN: compiler.tests.codegen
|
IN: compiler.tests.codegen
|
||||||
|
|
||||||
|
@ -367,3 +368,28 @@ cell 4 = [
|
||||||
|
|
||||||
[ 10 ] [ 1 coalescing-bug-2 ] unit-test
|
[ 10 ] [ 1 coalescing-bug-2 ] unit-test
|
||||||
[ 86 ] [ 11 coalescing-bug-2 ] unit-test
|
[ 86 ] [ 11 coalescing-bug-2 ] unit-test
|
||||||
|
|
||||||
|
! Regression in suffix-arrays code
|
||||||
|
: coalescing-bug-3 ( from/f to/f seq -- slice )
|
||||||
|
[
|
||||||
|
[ drop 0 or ] [ length or ] bi-curry bi*
|
||||||
|
[ min ] keep
|
||||||
|
] keep <slice> ;
|
||||||
|
|
||||||
|
[ T{ slice f 0 5 "hello" } ] [ f f "hello" coalescing-bug-3 ] unit-test
|
||||||
|
[ T{ slice f 1 5 "hello" } ] [ 1 f "hello" coalescing-bug-3 ] unit-test
|
||||||
|
[ T{ slice f 0 3 "hello" } ] [ f 3 "hello" coalescing-bug-3 ] unit-test
|
||||||
|
[ T{ slice f 1 3 "hello" } ] [ 1 3 "hello" coalescing-bug-3 ] unit-test
|
||||||
|
[ T{ slice f 3 3 "hello" } ] [ 4 3 "hello" coalescing-bug-3 ] unit-test
|
||||||
|
[ T{ slice f 5 5 "hello" } ] [ 6 f "hello" coalescing-bug-3 ] unit-test
|
||||||
|
|
||||||
|
! Reduction
|
||||||
|
: coalescing-bug-4 ( a b c -- a b c )
|
||||||
|
[ [ min ] keep ] dip vector? [ 1 ] [ 2 ] if ;
|
||||||
|
|
||||||
|
[ 2 3 2 ] [ 2 3 "" coalescing-bug-4 ] unit-test
|
||||||
|
[ 3 3 2 ] [ 4 3 "" coalescing-bug-4 ] unit-test
|
||||||
|
[ 3 3 2 ] [ 4 3 "" coalescing-bug-4 ] unit-test
|
||||||
|
[ 2 3 1 ] [ 2 3 V{ } coalescing-bug-4 ] unit-test
|
||||||
|
[ 3 3 1 ] [ 4 3 V{ } coalescing-bug-4 ] unit-test
|
||||||
|
[ 3 3 1 ] [ 4 3 V{ } coalescing-bug-4 ] unit-test
|
Loading…
Reference in New Issue