diff options
| author | gingerBill <bill@gingerbill.org> | 2021-08-03 13:49:01 +0100 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2021-08-03 13:49:01 +0100 |
| commit | 3a8ac929951d5b38faf1b92a47a315a6c3eb842c (patch) | |
| tree | ea1adc12e083936d841bd9ec87d4177d71abbe4e /src/llvm_backend.cpp | |
| parent | 67bedcba4b0f21497bc24f693d37840b3ddd5a65 (diff) | |
Add sanity check in `lb_create_procedure`
Diffstat (limited to 'src/llvm_backend.cpp')
| -rw-r--r-- | src/llvm_backend.cpp | 5 |
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 = {}; |