summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNic Gaffney <gaffney_nic@protonmail.com>2025-02-18 17:42:47 -0600
committerNic Gaffney <gaffney_nic@protonmail.com>2025-02-18 17:42:47 -0600
commiteacf9771c53f75a2b4ebe91070a32d5e9a73e524 (patch)
treefe3698a52d98b321f4e02d87e131b9742a708476
parent296564bbced8c3fa197ede9b16af60a4f88e350f (diff)
downloadcalico-eacf9771c53f75a2b4ebe91070a32d5e9a73e524.tar.gz
Small updates, tests fail
-rw-r--r--examples/mathTest.nya12
-rw-r--r--src/codegen.zig3
-rw-r--r--std.c1
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; }