authorgravatar for timonkruiper@gmail.comTimon Kruiper <timonkruiper@gmail.com> 2021-03-24 13:56:29+01:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2021-03-24 15:48:18-07:00
log3543373fd4531ca7f3158b0a2884fd5e5a2fedb2
treeb38f6178c2cc1e026ca9bd30d7238db10f305cfc
parent2c99fbb6728ee614740410662b1dcb33834cea2a

stage2: add passing optional test case in LLVM backend


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

test/stage2/llvm.zig+48-48
......@@ -133,54 +133,54 @@ pub fn addCases(ctx: *TestContext) !void {
133133 , "");
134134 }
135135
136 //{
137 // var case = ctx.exeUsingLlvmBackend("optionals", linux_x64);
138
139 // case.addCompareOutput(
140 // \\fn assert(ok: bool) void {
141 // \\ if (!ok) unreachable;
142 // \\}
143 // \\
144 // \\export fn main() c_int {
145 // \\ var opt_val: ?i32 = 10;
146 // \\ var null_val: ?i32 = null;
147 // \\
148 // \\ var val1: i32 = opt_val.?;
149 // \\ const val1_1: i32 = opt_val.?;
150 // \\ var ptr_val1 = &(opt_val.?);
151 // \\ const ptr_val1_1 = &(opt_val.?);
152 // \\
153 // \\ var val2: i32 = null_val orelse 20;
154 // \\ const val2_2: i32 = null_val orelse 20;
155 // \\
156 // \\ var value: i32 = 20;
157 // \\ var ptr_val2 = &(null_val orelse value);
158 // \\
159 // \\ const val3 = opt_val orelse 30;
160 // \\ var val3_var = opt_val orelse 30;
161 // \\
162 // \\ assert(val1 == 10);
163 // \\ assert(val1_1 == 10);
164 // \\ assert(ptr_val1.* == 10);
165 // \\ assert(ptr_val1_1.* == 10);
166 // \\
167 // \\ assert(val2 == 20);
168 // \\ assert(val2_2 == 20);
169 // \\ assert(ptr_val2.* == 20);
170 // \\
171 // \\ assert(val3 == 10);
172 // \\ assert(val3_var == 10);
173 // \\
174 // \\ (null_val orelse val2) = 1234;
175 // \\ assert(val2 == 1234);
176 // \\
177 // \\ (opt_val orelse val2) = 5678;
178 // \\ assert(opt_val.? == 5678);
179 // \\
180 // \\ return 0;
181 // \\}
182 // , "");
183 //}
136 {
137 var case = ctx.exeUsingLlvmBackend("optionals", linux_x64);
138
139 case.addCompareOutput(
140 \\fn assert(ok: bool) void {
141 \\ if (!ok) unreachable;
142 \\}
143 \\
144 \\export fn main() c_int {
145 \\ var opt_val: ?i32 = 10;
146 \\ var null_val: ?i32 = null;
147 \\
148 \\ var val1: i32 = opt_val.?;
149 \\ const val1_1: i32 = opt_val.?;
150 \\ var ptr_val1 = &(opt_val.?);
151 \\ const ptr_val1_1 = &(opt_val.?);
152 \\
153 \\ var val2: i32 = null_val orelse 20;
154 \\ const val2_2: i32 = null_val orelse 20;
155 \\
156 \\ var value: i32 = 20;
157 \\ var ptr_val2 = &(null_val orelse value);
158 \\
159 \\ const val3 = opt_val orelse 30;
160 \\ var val3_var = opt_val orelse 30;
161 \\
162 \\ assert(val1 == 10);
163 \\ assert(val1_1 == 10);
164 \\ assert(ptr_val1.* == 10);
165 \\ assert(ptr_val1_1.* == 10);
166 \\
167 \\ assert(val2 == 20);
168 \\ assert(val2_2 == 20);
169 \\ assert(ptr_val2.* == 20);
170 \\
171 \\ assert(val3 == 10);
172 \\ assert(val3_var == 10);
173 \\
174 \\ (null_val orelse val2) = 1234;
175 \\ assert(val2 == 1234);
176 \\
177 \\ (opt_val orelse val2) = 5678;
178 \\ assert(opt_val.? == 5678);
179 \\
180 \\ return 0;
181 \\}
182 , "");
183 }
184184
185185 //{
186186 // var case = ctx.exeUsingLlvmBackend("for loop", linux_x64);