about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorBaitinq <[email protected]>2025-03-21 20:08:29 +0100
committerBaitinq <[email protected]>2025-03-21 20:10:07 +0100
commitacb5f9c8c79f42bcb01759d2f5f70cafbfb30956 (patch)
treec52fd5e0fa0ca71bc42b9029475b5a7d39c6df69 /src
parentExamples: Add example of linking external symbol (diff)
downloadinterpreter-acb5f9c8c79f42bcb01759d2f5f70cafbfb30956.tar.gz
interpreter-acb5f9c8c79f42bcb01759d2f5f70cafbfb30956.tar.bz2
interpreter-acb5f9c8c79f42bcb01759d2f5f70cafbfb30956.zip
Misc: Improve error handling
Diffstat (limited to 'src')
-rw-r--r--src/codegen.zig5
-rw-r--r--src/main.zig5
2 files changed, 5 insertions, 5 deletions
diff --git a/src/codegen.zig b/src/codegen.zig
index c53c270..c16fa34 100644
--- a/src/codegen.zig
+++ b/src/codegen.zig
@@ -65,7 +65,7 @@ pub const CodeGen = struct {
         return self;
     }
 
-    pub fn deinit(self: *CodeGen) !void {
+    pub fn compile(self: *CodeGen) void {
         // Dump module
         llvm.LLVMDumpModule(self.llvm_module);
 
@@ -104,8 +104,9 @@ pub const CodeGen = struct {
             std.debug.print("Verification output: {any}.\n", .{message});
             llvm.LLVMDisposeMessage(message);
         }
+    }
 
-        // Clean up LLVM resources
+    pub fn deinit(self: *CodeGen) void {
         defer llvm.LLVMDisposeBuilder(self.builder);
         llvm.LLVMDisposeModule(self.llvm_module);
         llvm.LLVMShutdown();
diff --git a/src/main.zig b/src/main.zig
index 43ac440..cb32838 100644
--- a/src/main.zig
+++ b/src/main.zig
@@ -49,9 +49,7 @@ pub fn main() !void {
             );
         } else {
             const source_codegen = try codegen.CodeGen.init(arena.allocator());
-            defer source_codegen.deinit() catch |err| {
-                std.debug.print("ERROR GENERATING CODE {any}\n", .{err});
-            };
+            defer source_codegen.deinit();
             try process_buf(
                 buf,
                 allocator,
@@ -59,6 +57,7 @@ pub fn main() !void {
                 source_evaluator,
                 source_codegen,
             );
+            source_codegen.compile();
         }
     }
 }