zig/example/arrays/arrays.zig
2015-12-08 15:46:36 -07:00

42 lines
606 B
Zig

export executable "arrays";
#link("c")
extern {
fn puts(s: *const u8) -> i32;
fn exit(code: i32) -> unreachable;
}
export fn _start() -> unreachable {
let mut array : [i32; 5];
let mut i = 0;
loop_start:
if i == 5 {
goto loop_end;
}
array[i] = i + 1;
i = array[i];
goto loop_start;
loop_end:
i = 0;
let mut accumulator = 0;
loop_2_start:
if i == 5 {
goto loop_2_end;
}
accumulator = accumulator + array[i];
i = i + 1;
goto loop_2_start;
loop_2_end:
if accumulator == 15 {
puts("OK");
}
exit(0);
}