aboutsummaryrefslogtreecommitdiff
path: root/test/incremental/x86_64-linux/assert_function.7.zig
diff options
context:
space:
mode:
Diffstat (limited to 'test/incremental/x86_64-linux/assert_function.7.zig')
-rw-r--r--test/incremental/x86_64-linux/assert_function.7.zig28
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
+//