From cf9684ce75d4f9a4dc576d9c2cd490edcb8002df Mon Sep 17 00:00:00 2001 From: Meghan Denny Date: Mon, 30 Aug 2021 19:48:31 -0700 Subject: [PATCH] stage2: add `@rem` tests to llvm and c backends --- test/stage2/cbe.zig | 17 +++++++++++++++++ test/stage2/llvm.zig | 17 +++++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/test/stage2/cbe.zig b/test/stage2/cbe.zig index 21270f130b..12bc21b741 100644 --- 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 index 09649f518c..34f73b01c7 100644 --- 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; + \\} + , ""); + } }