2008-08-11 03:49:37 -04:00
|
|
|
IN: compiler.cfg.builder.tests
|
2008-09-11 03:05:22 -04:00
|
|
|
USING: tools.test kernel sequences
|
|
|
|
words sequences.private fry prettyprint alien
|
2008-09-10 23:11:03 -04:00
|
|
|
math.private compiler.tree.builder compiler.tree.optimizer
|
2008-09-11 03:05:22 -04:00
|
|
|
compiler.cfg.builder compiler.cfg.debugger ;
|
2008-08-11 03:49:37 -04:00
|
|
|
|
2008-10-20 02:56:28 -04:00
|
|
|
\ build-cfg must-infer
|
|
|
|
|
2008-09-10 23:11:03 -04:00
|
|
|
! Just ensure that various CFGs build correctly.
|
|
|
|
{
|
|
|
|
[ ]
|
|
|
|
[ dup ]
|
|
|
|
[ swap ]
|
|
|
|
[ >r r> ]
|
|
|
|
[ fixnum+ ]
|
|
|
|
[ fixnum< ]
|
|
|
|
[ [ 1 ] [ 2 ] if ]
|
|
|
|
[ fixnum< [ 1 ] [ 2 ] if ]
|
|
|
|
[ float+ [ 2.0 float* ] [ 3.0 float* ] bi float/f ]
|
|
|
|
[ { [ 1 ] [ 2 ] [ 3 ] } dispatch ]
|
|
|
|
[ [ t ] loop ]
|
|
|
|
[ [ dup ] loop ]
|
|
|
|
[ [ 2 ] [ 3 throw ] if 4 ]
|
|
|
|
[ "int" f "malloc" { "int" } alien-invoke ]
|
|
|
|
[ "int" { "int" } "cdecl" alien-indirect ]
|
|
|
|
[ "int" { "int" } "cdecl" [ ] alien-callback ]
|
|
|
|
} [
|
|
|
|
'[ _ test-cfg drop ] [ ] swap unit-test
|
|
|
|
] each
|
|
|
|
|
|
|
|
: test-1 ( -- ) test-1 ;
|
|
|
|
: test-2 ( -- ) 3 . test-2 ;
|
|
|
|
: test-3 ( a -- b ) dup [ test-3 ] when ;
|
|
|
|
|
|
|
|
{
|
|
|
|
test-1
|
|
|
|
test-2
|
|
|
|
test-3
|
|
|
|
} [
|
2008-09-11 03:05:22 -04:00
|
|
|
'[ _ test-cfg drop ] [ ] swap unit-test
|
2008-09-10 23:11:03 -04:00
|
|
|
] each
|