commit cf9684ce75d4f9a4dc576d9c2cd490edcb8002df (tree)
parent e878a6633f2447666217a5f9247af7c34507dca0
Author: Meghan Denny <hello@nektro.net>
Date: Mon, 30 Aug 2021 19:48:31 -0700
stage2: add `@rem` tests to llvm and c backends
Diffstat:
2 files changed, 34 insertions(+), 0 deletions(-)
diff --git a/test/stage2/cbe.zig b/test/stage2/cbe.zig
@@ -916,6 +916,23 @@ pub fn addCases(ctx: *TestContext) !void {
, "");
}
+ {
+ var case = ctx.exeFromCompiledC("@rem", linux_x64);
+ case.addCompareOutput(
+ \\fn assert(ok: bool) void {
+ \\ if (!ok) unreachable;
+ \\}
+ \\fn rem(lhs: i32, rhs: i32, expected: i32) bool {
+ \\ return @rem(lhs, rhs) == expected;
+ \\}
+ \\pub export fn main() c_int {
+ \\ assert(rem(-5, 3, -2));
+ \\ assert(rem(5, 3, 2));
+ \\ return 0;
+ \\}
+ , "");
+ }
+
ctx.h("simple header", linux_x64,
\\export fn start() void{}
,
diff --git a/test/stage2/llvm.zig b/test/stage2/llvm.zig
@@ -225,4 +225,21 @@ pub fn addCases(ctx: *TestContext) !void {
\\}
, "");
}
+
+ {
+ var case = ctx.exeUsingLlvmBackend("@rem", linux_x64);
+ case.addCompareOutput(
+ \\fn assert(ok: bool) void {
+ \\ if (!ok) unreachable;
+ \\}
+ \\fn rem(lhs: i32, rhs: i32, expected: i32) bool {
+ \\ return @rem(lhs, rhs) == expected;
+ \\}
+ \\pub export fn main() c_int {
+ \\ assert(rem(-5, 3, -2));
+ \\ assert(rem(5, 3, 2));
+ \\ return 0;
+ \\}
+ , "");
+ }
}