Files
spl/stage1/test14.spl

31 lines
628 B
Plaintext

#[extern("vm")] fn vm_strlen(s: *i8) i32;
#[extern("vm")] fn vm_strcmp(a: *i8, b: *i8) i32;
const MAGIC := 42;
fn main() i32 {
/* compile-time constant */
if MAGIC != 42 { ret 1; }
/* block scope */
var outer := 1;
{
var inner := 2;
if inner != 2 { ret 2; }
outer = inner;
}
if outer != 2 { ret 3; }
/* string literal — vm_strlen */
var len := vm_strlen("hello");
if len != 5 { ret 4; }
/* vm_strcmp */
var cmp := vm_strcmp("abc", "abc");
if cmp != 0 { ret 5; }
var cmp2 := vm_strcmp("abc", "def");
if cmp2 == 0 { ret 6; }
ret 0;
}