aboutsummaryrefslogtreecommitdiff
path: root/test/incremental/x86_64-linux/assert_function.18.zig
diff options
context:
space:
mode:
authorJakub Konka <kubkon@jakubkonka.com>2022-04-28 11:42:14 +0200
committerJakub Konka <kubkon@jakubkonka.com>2022-04-28 18:35:01 +0200
commit2875216f8e01c4e71a76fe840a0b298f0d42758e (patch)
tree1d0d50ee200424ba1af988267179f624864a025c /test/incremental/x86_64-linux/assert_function.18.zig
parent5a5648c0f03058e1d3878cc8c072af968fc90aa8 (diff)
downloadzig-2875216f8e01c4e71a76fe840a0b298f0d42758e.tar.gz
zig-2875216f8e01c4e71a76fe840a0b298f0d42758e.zip
test: fix x86_64-macos failures
This is just a temporary fix - I would like to unify all of x86_64 tests across linux and macos OSes.
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
+//