authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-07-13 00:31:55-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-07-13 00:31:55-07:00
logc94652a2fd210fe4f007dbdd47c9e55b38e482fb
tree954fccd90a73b8ed6e7c9f7a45a2c978c1a67840
parent08154c0deb653e016d6eb285c85094048eeded89

stage2: add new test case


1 files changed, 28 insertions(+), 1 deletions(-)

test/stage2/compare_output.zig+28-1
...@@ -120,7 +120,7 @@ pub fn addCases(ctx: *TestContext) !void {...@@ -120,7 +120,7 @@ pub fn addCases(ctx: *TestContext) !void {
120 }120 }
121121
122 {122 {
123 var case = ctx.exe("adding numbers", linux_x64);123 var case = ctx.exe("adding numbers at comptime", linux_x64);
124 case.addCompareOutput(124 case.addCompareOutput(
125 \\export fn _start() noreturn {125 \\export fn _start() noreturn {
126 \\ asm volatile ("syscall"126 \\ asm volatile ("syscall"
...@@ -143,4 +143,31 @@ pub fn addCases(ctx: *TestContext) !void {...@@ -143,4 +143,31 @@ pub fn addCases(ctx: *TestContext) !void {
143 "Hello, World!\n",143 "Hello, World!\n",
144 );144 );
145 }145 }
146
147 {
148 var case = ctx.exe("adding numbers at runtime", linux_x64);
149 case.addCompareOutput(
150 \\export fn _start() noreturn {
151 \\ add(3, 4);
152 \\
153 \\ exit();
154 \\}
155 \\
156 \\fn add(a: u32, b: u32) void {
157 \\ if (a + b != 7) unreachable;
158 \\}
159 \\
160 \\fn exit() noreturn {
161 \\ asm volatile ("syscall"
162 \\ :
163 \\ : [number] "{rax}" (231),
164 \\ [arg1] "{rdi}" (0)
165 \\ : "rcx", "r11", "memory"
166 \\ );
167 \\ unreachable;
168 \\}
169 ,
170 "",
171 );
172 }
146}173}