From 59a0bbb38512054eb5c6fc83383c3638ed03d1bf Mon Sep 17 00:00:00 2001 From: gingerBill Date: Sat, 6 Jun 2020 15:16:24 +0100 Subject: Improve termination rules checking for missing `return`; Make diverging procedure `-> !` be terminators --- src/llvm_backend.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/llvm_backend.cpp') diff --git a/src/llvm_backend.cpp b/src/llvm_backend.cpp index 147afcf46..814f79b1b 100644 --- a/src/llvm_backend.cpp +++ b/src/llvm_backend.cpp @@ -6902,6 +6902,10 @@ lbValue lb_emit_call(lbProcedure *p, lbValue value, Array const &args, context_ptr = lb_find_or_generate_context_ptr(p); } + defer (if (pt->Proc.diverging) { + LLVMBuildUnreachable(p->builder); + }); + set_procedure_abi_types(heap_allocator(), pt); bool is_c_vararg = pt->Proc.c_vararg; -- cgit v1.2.3