authorgravatar for luuk@degram.devLuuk de Gram <luuk@degram.dev> 2020-07-16 21:17:43+02:00
committergravatar for luuk@degram.devLuuk de Gram <luuk@degram.dev> 2020-07-24 17:16:48+02:00
log9d79741fd01f7d3c4093ef6d305c84ff5c183a69
tree42e17770d45aa9679cf43a1aa6de16a3ef73cd77
parenta1d72fad81c17fcaadd9da782b63f0ce2638f1bb
signaturelock-open Commit is signed but in an unrecognized format.

Stage2: Add support for substraction


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

test/stage2/compare_output.zig+31-1
...@@ -169,8 +169,38 @@ pub fn addCases(ctx: *TestContext) !void {...@@ -169,8 +169,38 @@ pub fn addCases(ctx: *TestContext) !void {
169 ,169 ,
170 "",170 "",
171 );171 );
172 }
172173
173 // Tests the assert() function.174 {
175 // TODO add a test case for comptime substraction of numbers
176 var case = ctx.exe("substracting numbers at runtime", linux_x64);
177 case.addCompareOutput(
178 \\export fn _start() noreturn {
179 \\ sub(7, 8);
180 \\
181 \\ exit();
182 \\}
183 \\
184 \\fn sub(a: u32, b: u32) void {
185 \\ if (a - b != 3) unreachable;
186 \\}
187 \\
188 \\fn exit() noreturn {
189 \\ asm volatile ("syscall"
190 \\ :
191 \\ : [number] "{rax}" (231),
192 \\ [arg1] "{rdi}" (0)
193 \\ : "rcx", "r11", "memory"
194 \\ );
195 \\ unreachable;
196 \\}
197 ,
198 "",
199 );
200 }
201
202 {
203 var case = ctx.exe("assert function", linux_x64);
174 case.addCompareOutput(204 case.addCompareOutput(
175 \\export fn _start() noreturn {205 \\export fn _start() noreturn {
176 \\ add(3, 4);206 \\ add(3, 4);