Commit 95cc457d97
test/stage2/llvm.zig
@@ -61,55 +61,55 @@ pub fn addCases(ctx: *TestContext) !void {
}
{
- var case = ctx.exeUsingLlvmBackend("blocks", linux_x64);
-
- case.addCompareOutput(
- \\fn assert(ok: bool) void {
- \\ if (!ok) unreachable;
- \\}
- \\
- \\fn foo(ok: bool) i32 {
- \\ const val: i32 = blk: {
- \\ var x: i32 = 1;
- \\ if (!ok) break :blk x + 9;
- \\ break :blk x + 19;
- \\ };
- \\ return val + 10;
- \\}
- \\
- \\export fn main() c_int {
- \\ assert(foo(false) == 20);
- \\ assert(foo(true) == 30);
- \\ return 0;
- \\}
- , "");
+ var case = ctx.exeUsingLlvmBackend("blocks", linux_x64);
+
+ case.addCompareOutput(
+ \\fn assert(ok: bool) void {
+ \\ if (!ok) unreachable;
+ \\}
+ \\
+ \\fn foo(ok: bool) i32 {
+ \\ const val: i32 = blk: {
+ \\ var x: i32 = 1;
+ \\ if (!ok) break :blk x + 9;
+ \\ break :blk x + 19;
+ \\ };
+ \\ return val + 10;
+ \\}
+ \\
+ \\export fn main() c_int {
+ \\ assert(foo(false) == 20);
+ \\ assert(foo(true) == 30);
+ \\ return 0;
+ \\}
+ , "");
}
{
- var case = ctx.exeUsingLlvmBackend("nested blocks", linux_x64);
-
- case.addCompareOutput(
- \\fn assert(ok: bool) void {
- \\ if (!ok) unreachable;
- \\}
- \\
- \\fn foo(ok: bool) i32 {
- \\ var val: i32 = blk: {
- \\ const val2: i32 = another: {
- \\ if (!ok) break :blk 10;
- \\ break :another 10;
- \\ };
- \\ break :blk val2 + 10;
- \\ };
- \\ return val;
- \\}
- \\
- \\export fn main() c_int {
- \\ assert(foo(false) == 10);
- \\ assert(foo(true) == 20);
- \\ return 0;
- \\}
- , "");
+ var case = ctx.exeUsingLlvmBackend("nested blocks", linux_x64);
+
+ case.addCompareOutput(
+ \\fn assert(ok: bool) void {
+ \\ if (!ok) unreachable;
+ \\}
+ \\
+ \\fn foo(ok: bool) i32 {
+ \\ var val: i32 = blk: {
+ \\ const val2: i32 = another: {
+ \\ if (!ok) break :blk 10;
+ \\ break :another 10;
+ \\ };
+ \\ break :blk val2 + 10;
+ \\ };
+ \\ return val;
+ \\}
+ \\
+ \\export fn main() c_int {
+ \\ assert(foo(false) == 10);
+ \\ assert(foo(true) == 20);
+ \\ return 0;
+ \\}
+ , "");
}
{
@@ -134,70 +134,70 @@ pub fn addCases(ctx: *TestContext) !void {
}
{
- var case = ctx.exeUsingLlvmBackend("optionals", linux_x64);
-
- case.addCompareOutput(
- \\fn assert(ok: bool) void {
- \\ if (!ok) unreachable;
- \\}
- \\
- \\export fn main() c_int {
- \\ var opt_val: ?i32 = 10;
- \\ var null_val: ?i32 = null;
- \\
- \\ var val1: i32 = opt_val.?;
- \\ const val1_1: i32 = opt_val.?;
- \\ var ptr_val1 = &(opt_val.?);
- \\ const ptr_val1_1 = &(opt_val.?);
- \\
- \\ var val2: i32 = null_val orelse 20;
- \\ const val2_2: i32 = null_val orelse 20;
- \\
- \\ var value: i32 = 20;
- \\ var ptr_val2 = &(null_val orelse value);
- \\
- \\ const val3 = opt_val orelse 30;
- \\ var val3_var = opt_val orelse 30;
- \\
- \\ assert(val1 == 10);
- \\ assert(val1_1 == 10);
- \\ assert(ptr_val1.* == 10);
- \\ assert(ptr_val1_1.* == 10);
- \\
- \\ assert(val2 == 20);
- \\ assert(val2_2 == 20);
- \\ assert(ptr_val2.* == 20);
- \\
- \\ assert(val3 == 10);
- \\ assert(val3_var == 10);
- \\
- \\ (null_val orelse val2) = 1234;
- \\ assert(val2 == 1234);
- \\
- \\ (opt_val orelse val2) = 5678;
- \\ assert(opt_val.? == 5678);
- \\
- \\ return 0;
- \\}
- , "");
+ var case = ctx.exeUsingLlvmBackend("optionals", linux_x64);
+
+ case.addCompareOutput(
+ \\fn assert(ok: bool) void {
+ \\ if (!ok) unreachable;
+ \\}
+ \\
+ \\export fn main() c_int {
+ \\ var opt_val: ?i32 = 10;
+ \\ var null_val: ?i32 = null;
+ \\
+ \\ var val1: i32 = opt_val.?;
+ \\ const val1_1: i32 = opt_val.?;
+ \\ var ptr_val1 = &(opt_val.?);
+ \\ const ptr_val1_1 = &(opt_val.?);
+ \\
+ \\ var val2: i32 = null_val orelse 20;
+ \\ const val2_2: i32 = null_val orelse 20;
+ \\
+ \\ var value: i32 = 20;
+ \\ var ptr_val2 = &(null_val orelse value);
+ \\
+ \\ const val3 = opt_val orelse 30;
+ \\ var val3_var = opt_val orelse 30;
+ \\
+ \\ assert(val1 == 10);
+ \\ assert(val1_1 == 10);
+ \\ assert(ptr_val1.* == 10);
+ \\ assert(ptr_val1_1.* == 10);
+ \\
+ \\ assert(val2 == 20);
+ \\ assert(val2_2 == 20);
+ \\ assert(ptr_val2.* == 20);
+ \\
+ \\ assert(val3 == 10);
+ \\ assert(val3_var == 10);
+ \\
+ \\ (null_val orelse val2) = 1234;
+ \\ assert(val2 == 1234);
+ \\
+ \\ (opt_val orelse val2) = 5678;
+ \\ assert(opt_val.? == 5678);
+ \\
+ \\ return 0;
+ \\}
+ , "");
}
- //{
- // var case = ctx.exeUsingLlvmBackend("for loop", linux_x64);
-
- // case.addCompareOutput(
- // \\fn assert(ok: bool) void {
- // \\ if (!ok) unreachable;
- // \\}
- // \\
- // \\export fn main() c_int {
- // \\ var x: u32 = 0;
- // \\ for ("hello") |_| {
- // \\ x += 1;
- // \\ }
- // \\ assert("hello".len == x);
- // \\ return 0;
- // \\}
- // , "");
- //}
+ {
+ var case = ctx.exeUsingLlvmBackend("for loop", linux_x64);
+
+ case.addCompareOutput(
+ \\fn assert(ok: bool) void {
+ \\ if (!ok) unreachable;
+ \\}
+ \\
+ \\export fn main() c_int {
+ \\ var x: u32 = 0;
+ \\ for ("hello") |_| {
+ \\ x += 1;
+ \\ }
+ \\ assert("hello".len == x);
+ \\ return 0;
+ \\}
+ , "");
+ }
}
test/stage2/wasm.zig
@@ -43,24 +43,24 @@ pub fn addCases(ctx: *TestContext) !void {
"42\n",
);
- //case.addCompareOutput(
- // \\export fn _start() f32 {
- // \\ bar();
- // \\ foo();
- // \\ return 42.0;
- // \\}
- // \\fn foo() void {
- // \\ bar();
- // \\ bar();
- // \\ bar();
- // \\}
- // \\fn bar() void {}
- //,
- //// This is what you get when you take the bits of the IEE-754
- //// representation of 42.0 and reinterpret them as an unsigned
- //// integer. Guess that's a bug in wasmtime.
- // "1109917696\n",
- //);
+ case.addCompareOutput(
+ \\export fn _start() f32 {
+ \\ bar();
+ \\ foo();
+ \\ return 42.0;
+ \\}
+ \\fn foo() void {
+ \\ bar();
+ \\ bar();
+ \\ bar();
+ \\}
+ \\fn bar() void {}
+ ,
+ // This is what you get when you take the bits of the IEE-754
+ // representation of 42.0 and reinterpret them as an unsigned
+ // integer. Guess that's a bug in wasmtime.
+ "1109917696\n",
+ );
case.addCompareOutput(
\\export fn _start() u32 {
@@ -71,33 +71,33 @@ pub fn addCases(ctx: *TestContext) !void {
, "5\n");
}
- //{
- // var case = ctx.exe("wasm locals", wasi);
-
- // case.addCompareOutput(
- // \\export fn _start() u32 {
- // \\ var i: u32 = 5;
- // \\ var y: f32 = 42.0;
- // \\ var x: u32 = 10;
- // \\ return i;
- // \\}
- // , "5\n");
-
- // case.addCompareOutput(
- // \\export fn _start() u32 {
- // \\ var i: u32 = 5;
- // \\ var y: f32 = 42.0;
- // \\ var x: u32 = 10;
- // \\ foo(i, x);
- // \\ i = x;
- // \\ return i;
- // \\}
- // \\fn foo(x: u32, y: u32) void {
- // \\ var i: u32 = 10;
- // \\ i = x;
- // \\}
- // , "10\n");
- //}
+ {
+ var case = ctx.exe("wasm locals", wasi);
+
+ case.addCompareOutput(
+ \\export fn _start() u32 {
+ \\ var i: u32 = 5;
+ \\ var y: f32 = 42.0;
+ \\ var x: u32 = 10;
+ \\ return i;
+ \\}
+ , "5\n");
+
+ case.addCompareOutput(
+ \\export fn _start() u32 {
+ \\ var i: u32 = 5;
+ \\ var y: f32 = 42.0;
+ \\ var x: u32 = 10;
+ \\ foo(i, x);
+ \\ i = x;
+ \\ return i;
+ \\}
+ \\fn foo(x: u32, y: u32) void {
+ \\ var i: u32 = 10;
+ \\ i = x;
+ \\}
+ , "10\n");
+ }
{
var case = ctx.exe("wasm binary operands", wasi);
@@ -202,16 +202,16 @@ pub fn addCases(ctx: *TestContext) !void {
\\}
, "10\n");
- //case.addCompareOutput(
- // \\export fn _start() u32 {
- // \\ var i: u32 = 0;
- // \\ while(i < @as(u32, 10)){
- // \\ var x: u32 = 1;
- // \\ i += x;
- // \\ if (i == @as(u32, 5)) break;
- // \\ }
- // \\ return i;
- // \\}
- //, "5\n");
+ case.addCompareOutput(
+ \\export fn _start() u32 {
+ \\ var i: u32 = 0;
+ \\ while(i < @as(u32, 10)){
+ \\ var x: u32 = 1;
+ \\ i += x;
+ \\ if (i == @as(u32, 5)) break;
+ \\ }
+ \\ return i;
+ \\}
+ , "5\n");
}
}