aboutsummaryrefslogtreecommitdiff
path: root/test/incremental/x86_64-linux/assert_function.18.zig
diff options
context:
space:
mode:
Diffstat (limited to 'test/incremental/x86_64-linux/assert_function.18.zig')
-rw-r--r--test/incremental/x86_64-linux/assert_function.18.zig35
1 files changed, 35 insertions, 0 deletions
diff --git a/test/incremental/x86_64-linux/assert_function.18.zig b/test/incremental/x86_64-linux/assert_function.18.zig
new file mode 100644
index 0000000000..31cf1207f3
--- /dev/null
+++ b/test/incremental/x86_64-linux/assert_function.18.zig
@@ -0,0 +1,35 @@
+const builtin = @import("builtin");
+
+extern "c" fn write(usize, usize, usize) usize;
+
+pub fn main() void {
+ for ("hello") |_| print();
+}
+
+fn print() void {
+ switch (builtin.os.tag) {
+ .linux => {
+ asm volatile ("syscall"
+ :
+ : [number] "{rax}" (1),
+ [arg1] "{rdi}" (1),
+ [arg2] "{rsi}" (@ptrToInt("hello\n")),
+ [arg3] "{rdx}" (6),
+ : "rcx", "r11", "memory"
+ );
+ },
+ .macos => {
+ _ = write(1, @ptrToInt("hello\n"), 6);
+ },
+ else => unreachable,
+ }
+}
+
+// run
+//
+// hello
+// hello
+// hello
+// hello
+// hello
+//