aboutsummaryrefslogtreecommitdiff
path: root/test/incremental/x86_64-linux/assert_function.11.zig
diff options
context:
space:
mode:
authorJakub Konka <kubkon@jakubkonka.com>2022-04-28 11:42:14 +0200
committerJakub Konka <kubkon@jakubkonka.com>2022-04-28 18:35:01 +0200
commit2875216f8e01c4e71a76fe840a0b298f0d42758e (patch)
tree1d0d50ee200424ba1af988267179f624864a025c /test/incremental/x86_64-linux/assert_function.11.zig
parent5a5648c0f03058e1d3878cc8c072af968fc90aa8 (diff)
downloadzig-2875216f8e01c4e71a76fe840a0b298f0d42758e.tar.gz
zig-2875216f8e01c4e71a76fe840a0b298f0d42758e.zip
test: fix x86_64-macos failures
This is just a temporary fix - I would like to unify all of x86_64 tests across linux and macos OSes.
Diffstat (limited to 'test/incremental/x86_64-linux/assert_function.11.zig')
-rw-r--r--test/incremental/x86_64-linux/assert_function.11.zig66
1 files changed, 66 insertions, 0 deletions
diff --git a/test/incremental/x86_64-linux/assert_function.11.zig b/test/incremental/x86_64-linux/assert_function.11.zig
new file mode 100644
index 0000000000..d64130a677
--- /dev/null
+++ b/test/incremental/x86_64-linux/assert_function.11.zig
@@ -0,0 +1,66 @@
+pub fn main() void {
+ assert(add(3, 4) == 1221);
+ assert(mul(3, 4) == 21609);
+}
+
+fn add(a: u32, b: u32) u32 {
+ const x: u32 = blk: {
+ const c = a + b; // 7
+ const d = a + c; // 10
+ const e = d + b; // 14
+ const f = d + e; // 24
+ const g = e + f; // 38
+ const h = f + g; // 62
+ const i = g + h; // 100
+ const j = i + d; // 110
+ const k = i + j; // 210
+ const l = j + k; // 320
+ const m = l + c; // 327
+ const n = m + d; // 337
+ const o = n + e; // 351
+ const p = o + f; // 375
+ const q = p + g; // 413
+ const r = q + h; // 475
+ const s = r + i; // 575
+ const t = s + j; // 685
+ const u = t + k; // 895
+ const v = u + l; // 1215
+ break :blk v;
+ };
+ const y = x + a; // 1218
+ const z = y + a; // 1221
+ return z;
+}
+
+fn mul(a: u32, b: u32) u32 {
+ const x: u32 = blk: {
+ const c = a * a * a * a; // 81
+ const d = a * a * a * b; // 108
+ const e = a * a * b * a; // 108
+ const f = a * a * b * b; // 144
+ const g = a * b * a * a; // 108
+ const h = a * b * a * b; // 144
+ const i = a * b * b * a; // 144
+ const j = a * b * b * b; // 192
+ const k = b * a * a * a; // 108
+ const l = b * a * a * b; // 144
+ const m = b * a * b * a; // 144
+ const n = b * a * b * b; // 192
+ const o = b * b * a * a; // 144
+ const p = b * b * a * b; // 192
+ const q = b * b * b * a; // 192
+ const r = b * b * b * b; // 256
+ const s = c + d + e + f + g + h + i + j + k + l + m + n + o + p + q + r; // 2401
+ break :blk s;
+ };
+ const y = x * a; // 7203
+ const z = y * a; // 21609
+ return z;
+}
+
+pub fn assert(ok: bool) void {
+ if (!ok) unreachable; // assertion failure
+}
+
+// run
+//