aboutsummaryrefslogtreecommitdiff
path: root/src/tilde_proc.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2023-07-24 16:09:01 +0100
committergingerBill <bill@gingerbill.org>2023-07-24 16:09:01 +0100
commit28fca190ee11f5c19d30007f20caa4c7bf89f655 (patch)
tree595c387e0d83bec411e346d301c6c6d3e3d65676 /src/tilde_proc.cpp
parent78116e0ea24aef3f663832edfb5f9cd6aa7b6e57 (diff)
Fix `transmute(uintptr)ptr` etc
Diffstat (limited to 'src/tilde_proc.cpp')
-rw-r--r--src/tilde_proc.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/tilde_proc.cpp b/src/tilde_proc.cpp
index ed28f5016..acc31ce67 100644
--- a/src/tilde_proc.cpp
+++ b/src/tilde_proc.cpp
@@ -677,6 +677,12 @@ gb_internal cgValue cg_emit_call(cgProcedure * p, cgValue value, Slice<cgValue>
return cg_value_multi(multi, pt->results);
}
+gb_internal cgValue cg_emit_runtime_call(cgProcedure *p, char const *name, Slice<cgValue> const &args) {
+ AstPackage *pkg = p->module->info->runtime_package;
+ Entity *e = scope_lookup_current(pkg->scope, make_string_c(name));
+ cgValue value = cg_find_procedure_value_from_entity(p->module, e);
+ return cg_emit_call(p, value, args);
+}
gb_internal cgValue cg_handle_param_value(cgProcedure *p, Type *parameter_type, ParameterValue const &param_value, TokenPos const &pos) {
switch (param_value.kind) {