diff options
Diffstat (limited to 'test/incremental/x86_64-linux/assert_function.7.zig')
| -rw-r--r-- | test/incremental/x86_64-linux/assert_function.7.zig | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/test/incremental/x86_64-linux/assert_function.7.zig b/test/incremental/x86_64-linux/assert_function.7.zig new file mode 100644 index 0000000000..e6d18a5c3f --- /dev/null +++ b/test/incremental/x86_64-linux/assert_function.7.zig @@ -0,0 +1,28 @@ +pub fn main() void { + var i: u32 = 0; + while (i < 4) : (i += 1) print(); + assert(i == 4); +} + +fn print() void { + asm volatile ("syscall" + : + : [number] "{rax}" (1), + [arg1] "{rdi}" (1), + [arg2] "{rsi}" (@ptrToInt("hello\n")), + [arg3] "{rdx}" (6), + : "rcx", "r11", "memory" + ); +} + +pub fn assert(ok: bool) void { + if (!ok) unreachable; // assertion failure +} + +// run +// +// hello +// hello +// hello +// hello +// |
