aboutsummaryrefslogtreecommitdiff
path: root/src/tilde.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2023-07-24 12:01:23 +0100
committergingerBill <bill@gingerbill.org>2023-07-24 12:01:23 +0100
commitb09cdc0f256bca71ffcb5960c75127e8aaa55b87 (patch)
treed578e7ac78aebbc572e2c97cbe1174425295e1d8 /src/tilde.cpp
parentbd81c6f5b4bbcdb0c65cda5bedf1f3c5e0c0371e (diff)
Hook up Tilde to the linker code
Diffstat (limited to 'src/tilde.cpp')
-rw-r--r--src/tilde.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/tilde.cpp b/src/tilde.cpp
index ff2a540f5..2fa7ced53 100644
--- a/src/tilde.cpp
+++ b/src/tilde.cpp
@@ -717,11 +717,12 @@ gb_internal String cg_get_entity_name(cgModule *m, Entity *e) {
#include "tilde_stmt.cpp"
-gb_internal bool cg_generate_code(Checker *c) {
+gb_internal bool cg_generate_code(Checker *c, LinkerData *linker_data) {
TIME_SECTION("Tilde Module Initializtion");
CheckerInfo *info = &c->info;
- gb_unused(info);
+
+ linker_data_init(linker_data, info, c->parser->init_fullpath);
global_tb_arenas = slice_make<TB_Arena *>(permanent_allocator(), global_thread_pool.threads.count);
for_array(i, global_tb_arenas) {
@@ -803,8 +804,10 @@ gb_internal bool cg_generate_code(Checker *c) {
TB_ExportBuffer export_buffer = tb_module_object_export(m->mod, debug_format);
defer (tb_export_buffer_free(export_buffer));
- char const *path = "W:/Odin/tilde_main.obj";
- GB_ASSERT(tb_export_buffer_to_file(export_buffer, path));
+ char const *filepath_obj = "W:/Odin/tilde_main.obj";
+
+ array_add(&linker_data->output_object_paths, make_string_c(filepath_obj));
+ GB_ASSERT(tb_export_buffer_to_file(export_buffer, filepath_obj));
return true;
}