aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2021-08-03 13:49:01 +0100
committergingerBill <bill@gingerbill.org>2021-08-03 13:49:01 +0100
commit3a8ac929951d5b38faf1b92a47a315a6c3eb842c (patch)
treeea1adc12e083936d841bd9ec87d4177d71abbe4e /src/llvm_backend.cpp
parent67bedcba4b0f21497bc24f693d37840b3ddd5a65 (diff)
Add sanity check in `lb_create_procedure`
Diffstat (limited to 'src/llvm_backend.cpp')
-rw-r--r--src/llvm_backend.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/llvm_backend.cpp b/src/llvm_backend.cpp
index 743d465e8..ecce738e5 100644
--- a/src/llvm_backend.cpp
+++ b/src/llvm_backend.cpp
@@ -192,7 +192,7 @@ lbValue lb_addr_get_ptr(lbProcedure *p, lbAddr const &addr) {
offset = lb_emit_load(p, offset);
if (!is_type_unsigned(rel_ptr->RelativePointer.base_integer)) {
- offset = lb_emit_conv(p, offset, t_i64);
+ offset = lb_emit_conv(p, offset, t_i64);
}
offset = lb_emit_conv(p, offset, t_uintptr);
lbValue absolute_ptr = lb_emit_arith(p, Token_Add, ptr, offset, t_uintptr);
@@ -2741,6 +2741,9 @@ void lb_ensure_abi_function_type(lbModule *m, lbProcedure *p) {
lbProcedure *lb_create_procedure(lbModule *m, Entity *entity, bool ignore_body) {
GB_ASSERT(entity != nullptr);
GB_ASSERT(entity->kind == Entity_Procedure);
+ if (!entity->Procedure.is_foreign) {
+ GB_ASSERT(entity->flags |= EntityFlag_ProcBodyChecked);
+ }
String link_name = {};