From eacf9771c53f75a2b4ebe91070a32d5e9a73e524 Mon Sep 17 00:00:00 2001 From: Nic Gaffney Date: Tue, 18 Feb 2025 17:42:47 -0600 Subject: Small updates, tests fail --- examples/mathTest.nya | 12 ++++++------ src/codegen.zig | 3 ++- std.c | 1 - 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/examples/mathTest.nya b/examples/mathTest.nya index f937b79..14e7f0a 100644 --- a/examples/mathTest.nya +++ b/examples/mathTest.nya @@ -6,13 +6,13 @@ fn test() -> i32 { } fn main() -> i32 { - const: i32 num = 5; + const: i32 num = 5 + 3 * 7; const: i32 num2 = test(); - if (num2 == test()) { + if (num2 == test()) puts("Hello World!"); - } - if (num2 == 0) { + + if (num2 == 0) puts("Shouldn't print"); - } - return num2; + + return num; } diff --git a/src/codegen.zig b/src/codegen.zig index 7aff0b6..9fb09cb 100644 --- a/src/codegen.zig +++ b/src/codegen.zig @@ -12,6 +12,7 @@ const CodegenError = error{ OutOfMemory, IncorrectType, UnknownIdentifier, + Unimplemented, }; fn toLLVMtype(typ: parse.TypeIdent, sym: *symb.SymbolTable, expr: ?parse.NodeExpr) types.LLVMTypeRef { @@ -270,7 +271,7 @@ pub const Generator = struct { .star => core.LLVMBuildMul(self.builder, lhs, rhs, "mul"), .slash => core.LLVMBuildSDiv(self.builder, lhs, rhs, "div"), .eqleql => core.LLVMBuildICmp(self.builder, types.LLVMIntPredicate.LLVMIntEQ, lhs, rhs, "eql"), - else => core.LLVMBuildICmp(self.builder, types.LLVMIntPredicate.LLVMIntEQ, lhs, rhs, "eql"), + else => return error.Unimplemented, }; }, .stringLit => |str| blk: { diff --git a/std.c b/std.c index 67a23c3..1f76448 100644 --- a/std.c +++ b/std.c @@ -1,2 +1 @@ -int subtract(int a, int b) { return a - b; } int add(int a, int b) { return a + b; } -- cgit v1.2.3