authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2021-03-26 23:54:36-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2021-03-26 23:54:36-07:00
log95cc457d977c3a4671adfe61d482465cd262d17f
tree980e9dcd0d1e12eefe16d17802d074a7dbfb0d87
parent1f5617ac078041532dd5933ae1cf0ccb13c3cd8a

stage2: enable passing tests


2 files changed, 166 insertions(+), 166 deletions(-)

test/stage2/llvm.zig+110-110
...@@ -61,55 +61,55 @@ pub fn addCases(ctx: *TestContext) !void {...@@ -61,55 +61,55 @@ pub fn addCases(ctx: *TestContext) !void {
61 }61 }
6262
63 {63 {
64 var case = ctx.exeUsingLlvmBackend("blocks", linux_x64);64 var case = ctx.exeUsingLlvmBackend("blocks", linux_x64);
6565
66 case.addCompareOutput(66 case.addCompareOutput(
67 \\fn assert(ok: bool) void {67 \\fn assert(ok: bool) void {
68 \\ if (!ok) unreachable;68 \\ if (!ok) unreachable;
69 \\}69 \\}
70 \\70 \\
71 \\fn foo(ok: bool) i32 {71 \\fn foo(ok: bool) i32 {
72 \\ const val: i32 = blk: {72 \\ const val: i32 = blk: {
73 \\ var x: i32 = 1;73 \\ var x: i32 = 1;
74 \\ if (!ok) break :blk x + 9;74 \\ if (!ok) break :blk x + 9;
75 \\ break :blk x + 19;75 \\ break :blk x + 19;
76 \\ };76 \\ };
77 \\ return val + 10;77 \\ return val + 10;
78 \\}78 \\}
79 \\79 \\
80 \\export fn main() c_int {80 \\export fn main() c_int {
81 \\ assert(foo(false) == 20);81 \\ assert(foo(false) == 20);
82 \\ assert(foo(true) == 30);82 \\ assert(foo(true) == 30);
83 \\ return 0;83 \\ return 0;
84 \\}84 \\}
85 , "");85 , "");
86 }86 }
8787
88 {88 {
89 var case = ctx.exeUsingLlvmBackend("nested blocks", linux_x64);89 var case = ctx.exeUsingLlvmBackend("nested blocks", linux_x64);
9090
91 case.addCompareOutput(91 case.addCompareOutput(
92 \\fn assert(ok: bool) void {92 \\fn assert(ok: bool) void {
93 \\ if (!ok) unreachable;93 \\ if (!ok) unreachable;
94 \\}94 \\}
95 \\95 \\
96 \\fn foo(ok: bool) i32 {96 \\fn foo(ok: bool) i32 {
97 \\ var val: i32 = blk: {97 \\ var val: i32 = blk: {
98 \\ const val2: i32 = another: {98 \\ const val2: i32 = another: {
99 \\ if (!ok) break :blk 10;99 \\ if (!ok) break :blk 10;
100 \\ break :another 10;100 \\ break :another 10;
101 \\ };101 \\ };
102 \\ break :blk val2 + 10;102 \\ break :blk val2 + 10;
103 \\ };103 \\ };
104 \\ return val;104 \\ return val;
105 \\}105 \\}
106 \\106 \\
107 \\export fn main() c_int {107 \\export fn main() c_int {
108 \\ assert(foo(false) == 10);108 \\ assert(foo(false) == 10);
109 \\ assert(foo(true) == 20);109 \\ assert(foo(true) == 20);
110 \\ return 0;110 \\ return 0;
111 \\}111 \\}
112 , "");112 , "");
113 }113 }
114114
115 {115 {
...@@ -134,70 +134,70 @@ pub fn addCases(ctx: *TestContext) !void {...@@ -134,70 +134,70 @@ pub fn addCases(ctx: *TestContext) !void {
134 }134 }
135135
136 {136 {
137 var case = ctx.exeUsingLlvmBackend("optionals", linux_x64);137 var case = ctx.exeUsingLlvmBackend("optionals", linux_x64);
138138
139 case.addCompareOutput(139 case.addCompareOutput(
140 \\fn assert(ok: bool) void {140 \\fn assert(ok: bool) void {
141 \\ if (!ok) unreachable;141 \\ if (!ok) unreachable;
142 \\}142 \\}
143 \\143 \\
144 \\export fn main() c_int {144 \\export fn main() c_int {
145 \\ var opt_val: ?i32 = 10;145 \\ var opt_val: ?i32 = 10;
146 \\ var null_val: ?i32 = null;146 \\ var null_val: ?i32 = null;
147 \\147 \\
148 \\ var val1: i32 = opt_val.?;148 \\ var val1: i32 = opt_val.?;
149 \\ const val1_1: i32 = opt_val.?;149 \\ const val1_1: i32 = opt_val.?;
150 \\ var ptr_val1 = &(opt_val.?);150 \\ var ptr_val1 = &(opt_val.?);
151 \\ const ptr_val1_1 = &(opt_val.?);151 \\ const ptr_val1_1 = &(opt_val.?);
152 \\152 \\
153 \\ var val2: i32 = null_val orelse 20;153 \\ var val2: i32 = null_val orelse 20;
154 \\ const val2_2: i32 = null_val orelse 20;154 \\ const val2_2: i32 = null_val orelse 20;
155 \\155 \\
156 \\ var value: i32 = 20;156 \\ var value: i32 = 20;
157 \\ var ptr_val2 = &(null_val orelse value);157 \\ var ptr_val2 = &(null_val orelse value);
158 \\158 \\
159 \\ const val3 = opt_val orelse 30;159 \\ const val3 = opt_val orelse 30;
160 \\ var val3_var = opt_val orelse 30;160 \\ var val3_var = opt_val orelse 30;
161 \\161 \\
162 \\ assert(val1 == 10);162 \\ assert(val1 == 10);
163 \\ assert(val1_1 == 10);163 \\ assert(val1_1 == 10);
164 \\ assert(ptr_val1.* == 10);164 \\ assert(ptr_val1.* == 10);
165 \\ assert(ptr_val1_1.* == 10);165 \\ assert(ptr_val1_1.* == 10);
166 \\166 \\
167 \\ assert(val2 == 20);167 \\ assert(val2 == 20);
168 \\ assert(val2_2 == 20);168 \\ assert(val2_2 == 20);
169 \\ assert(ptr_val2.* == 20);169 \\ assert(ptr_val2.* == 20);
170 \\170 \\
171 \\ assert(val3 == 10);171 \\ assert(val3 == 10);
172 \\ assert(val3_var == 10);172 \\ assert(val3_var == 10);
173 \\173 \\
174 \\ (null_val orelse val2) = 1234;174 \\ (null_val orelse val2) = 1234;
175 \\ assert(val2 == 1234);175 \\ assert(val2 == 1234);
176 \\176 \\
177 \\ (opt_val orelse val2) = 5678;177 \\ (opt_val orelse val2) = 5678;
178 \\ assert(opt_val.? == 5678);178 \\ assert(opt_val.? == 5678);
179 \\179 \\
180 \\ return 0;180 \\ return 0;
181 \\}181 \\}
182 , "");182 , "");
183 }183 }
184184
185 //{185 {
186 // var case = ctx.exeUsingLlvmBackend("for loop", linux_x64);186 var case = ctx.exeUsingLlvmBackend("for loop", linux_x64);
187187
188 // case.addCompareOutput(188 case.addCompareOutput(
189 // \\fn assert(ok: bool) void {189 \\fn assert(ok: bool) void {
190 // \\ if (!ok) unreachable;190 \\ if (!ok) unreachable;
191 // \\}191 \\}
192 // \\192 \\
193 // \\export fn main() c_int {193 \\export fn main() c_int {
194 // \\ var x: u32 = 0;194 \\ var x: u32 = 0;
195 // \\ for ("hello") |_| {195 \\ for ("hello") |_| {
196 // \\ x += 1;196 \\ x += 1;
197 // \\ }197 \\ }
198 // \\ assert("hello".len == x);198 \\ assert("hello".len == x);
199 // \\ return 0;199 \\ return 0;
200 // \\}200 \\}
201 // , "");201 , "");
202 //}202 }
203}203}
test/stage2/wasm.zig+56-56
...@@ -43,24 +43,24 @@ pub fn addCases(ctx: *TestContext) !void {...@@ -43,24 +43,24 @@ pub fn addCases(ctx: *TestContext) !void {
43 "42\n",43 "42\n",
44 );44 );
4545
46 //case.addCompareOutput(46 case.addCompareOutput(
47 // \\export fn _start() f32 {47 \\export fn _start() f32 {
48 // \\ bar();48 \\ bar();
49 // \\ foo();49 \\ foo();
50 // \\ return 42.0;50 \\ return 42.0;
51 // \\}51 \\}
52 // \\fn foo() void {52 \\fn foo() void {
53 // \\ bar();53 \\ bar();
54 // \\ bar();54 \\ bar();
55 // \\ bar();55 \\ bar();
56 // \\}56 \\}
57 // \\fn bar() void {}57 \\fn bar() void {}
58 //,58 ,
59 //// This is what you get when you take the bits of the IEE-75459 // This is what you get when you take the bits of the IEE-754
60 //// representation of 42.0 and reinterpret them as an unsigned60 // representation of 42.0 and reinterpret them as an unsigned
61 //// integer. Guess that's a bug in wasmtime.61 // integer. Guess that's a bug in wasmtime.
62 // "1109917696\n",62 "1109917696\n",
63 //);63 );
6464
65 case.addCompareOutput(65 case.addCompareOutput(
66 \\export fn _start() u32 {66 \\export fn _start() u32 {
...@@ -71,33 +71,33 @@ pub fn addCases(ctx: *TestContext) !void {...@@ -71,33 +71,33 @@ pub fn addCases(ctx: *TestContext) !void {
71 , "5\n");71 , "5\n");
72 }72 }
7373
74 //{74 {
75 // var case = ctx.exe("wasm locals", wasi);75 var case = ctx.exe("wasm locals", wasi);
7676
77 // case.addCompareOutput(77 case.addCompareOutput(
78 // \\export fn _start() u32 {78 \\export fn _start() u32 {
79 // \\ var i: u32 = 5;79 \\ var i: u32 = 5;
80 // \\ var y: f32 = 42.0;80 \\ var y: f32 = 42.0;
81 // \\ var x: u32 = 10;81 \\ var x: u32 = 10;
82 // \\ return i;82 \\ return i;
83 // \\}83 \\}
84 // , "5\n");84 , "5\n");
8585
86 // case.addCompareOutput(86 case.addCompareOutput(
87 // \\export fn _start() u32 {87 \\export fn _start() u32 {
88 // \\ var i: u32 = 5;88 \\ var i: u32 = 5;
89 // \\ var y: f32 = 42.0;89 \\ var y: f32 = 42.0;
90 // \\ var x: u32 = 10;90 \\ var x: u32 = 10;
91 // \\ foo(i, x);91 \\ foo(i, x);
92 // \\ i = x;92 \\ i = x;
93 // \\ return i;93 \\ return i;
94 // \\}94 \\}
95 // \\fn foo(x: u32, y: u32) void {95 \\fn foo(x: u32, y: u32) void {
96 // \\ var i: u32 = 10;96 \\ var i: u32 = 10;
97 // \\ i = x;97 \\ i = x;
98 // \\}98 \\}
99 // , "10\n");99 , "10\n");
100 //}100 }
101101
102 {102 {
103 var case = ctx.exe("wasm binary operands", wasi);103 var case = ctx.exe("wasm binary operands", wasi);
...@@ -202,16 +202,16 @@ pub fn addCases(ctx: *TestContext) !void {...@@ -202,16 +202,16 @@ pub fn addCases(ctx: *TestContext) !void {
202 \\}202 \\}
203 , "10\n");203 , "10\n");
204204
205 //case.addCompareOutput(205 case.addCompareOutput(
206 // \\export fn _start() u32 {206 \\export fn _start() u32 {
207 // \\ var i: u32 = 0;207 \\ var i: u32 = 0;
208 // \\ while(i < @as(u32, 10)){208 \\ while(i < @as(u32, 10)){
209 // \\ var x: u32 = 1;209 \\ var x: u32 = 1;
210 // \\ i += x;210 \\ i += x;
211 // \\ if (i == @as(u32, 5)) break;211 \\ if (i == @as(u32, 5)) break;
212 // \\ }212 \\ }
213 // \\ return i;213 \\ return i;
214 // \\}214 \\}
215 //, "5\n");215 , "5\n");
216 }216 }
217}217}