aboutsummaryrefslogtreecommitdiff
path: root/test/cases/eval.zig
diff options
context:
space:
mode:
authorAndrew Kelley <superjoe30@gmail.com>2018-04-26 10:55:29 -0400
committerAndrew Kelley <superjoe30@gmail.com>2018-04-26 10:55:29 -0400
commitbbfff4614614726dd2ef2c05f851f91be5368f84 (patch)
tree9cbfbb8b744c883150312bc9adf068778c60397e /test/cases/eval.zig
parentce68dda4b60914e947088e7cf0c5626ea7cebc08 (diff)
parent27cbb44993389ae042a03266743379c0f15a523e (diff)
downloadzig-bbfff4614614726dd2ef2c05f851f91be5368f84.tar.gz
zig-bbfff4614614726dd2ef2c05f851f91be5368f84.zip
Merge remote-tracking branch 'origin/master' into llvm7
Diffstat (limited to 'test/cases/eval.zig')
-rw-r--r--test/cases/eval.zig16
1 files changed, 16 insertions, 0 deletions
diff --git a/test/cases/eval.zig b/test/cases/eval.zig
index d6f7afe864..e13d4340e7 100644
--- a/test/cases/eval.zig
+++ b/test/cases/eval.zig
@@ -513,3 +513,19 @@ test "array concat of slices gives slice" {
assert(std.mem.eql(u8, c, "aoeuasdf"));
}
}
+
+test "comptime shlWithOverflow" {
+ const ct_shifted: u64 = comptime amt: {
+ var amt = u64(0);
+ _ = @shlWithOverflow(u64, ~u64(0), 16, &amt);
+ break :amt amt;
+ };
+
+ const rt_shifted: u64 = amt: {
+ var amt = u64(0);
+ _ = @shlWithOverflow(u64, ~u64(0), 16, &amt);
+ break :amt amt;
+ };
+
+ assert(ct_shifted == rt_shifted);
+}