diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2020-04-18 00:09:43 -0400 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2020-04-19 19:31:50 -0400 |
| commit | bd4280decfd08b28041f96f552b3fec5087cbcd3 (patch) | |
| tree | c10e0bfa1d57d1af7c2fbe2f3fe86e152948cdd0 /test | |
| parent | 328eb8ed8dfdc646df28f899267c76e18645da40 (diff) | |
| download | zig-bd4280decfd08b28041f96f552b3fec5087cbcd3.tar.gz zig-bd4280decfd08b28041f96f552b3fec5087cbcd3.zip | |
beginnings of zig ir parser
Diffstat (limited to 'test')
| -rw-r--r-- | test/stage2/ir.zig | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/test/stage2/ir.zig b/test/stage2/ir.zig new file mode 100644 index 0000000000..e948e7a8b8 --- /dev/null +++ b/test/stage2/ir.zig @@ -0,0 +1,37 @@ +test "hello world IR" { + exeCmp( + \\@0 = "Hello, world!\n" + \\ + \\@1 = fn({ + \\ %0 : usize = 1 ;SYS_write + \\ %1 : usize = 1 ;STDOUT_FILENO + \\ %2 = ptrtoint(@0) ; msg ptr + \\ %3 = fieldptr(@0, "len") ; msg len ptr + \\ %4 = deref(%3) ; msg len + \\ %5 = asm("syscall", + \\ volatile=1, + \\ output="={rax}", + \\ inputs=["{rax}", "{rdi}", "{rsi}", "{rdx}"], + \\ clobbers=["rcx", "r11", "memory"], + \\ args=[%0, %1, %2, %4]) + \\ + \\ %6 : usize = 231 ;SYS_exit_group + \\ %7 : usize = 0 ;exit code + \\ %8 = asm("syscall", + \\ volatile=1, + \\ output="={rax}", + \\ inputs=["{rax}", "{rdi}"], + \\ clobbers=["rcx", "r11", "memory"], + \\ args=[%6, %7]) + \\ + \\ %9 = unreachable() + \\}, cc=naked); + \\ + \\@2 = export("_start", @1) + , + \\Hello, world! + \\ + ); +} + +fn exeCmp(src: []const u8, expected_stdout: []const u8) void {} |
