| ... | ... | @@ -120,7 +120,7 @@ pub fn addCases(ctx: *TestContext) !void { |
| 120 | 120 | } |
| 121 | 121 | |
| 122 | 122 | { |
| 123 | | var case = ctx.exe("adding numbers", linux_x64); |
| 123 | var case = ctx.exe("adding numbers at comptime", linux_x64); |
| 124 | 124 | case.addCompareOutput( |
| 125 | 125 | \\export fn _start() noreturn { |
| 126 | 126 | \\ asm volatile ("syscall" |
| ... | ... | @@ -143,4 +143,31 @@ pub fn addCases(ctx: *TestContext) !void { |
| 143 | 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 | } |