aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndrew Kelley <superjoe30@gmail.com>2017-11-10 14:58:50 -0500
committerAndrew Kelley <superjoe30@gmail.com>2017-11-10 14:58:50 -0500
commit029d37d6a7dc96f71dded5d5a9c8e7477aaa4146 (patch)
tree518cb47a9dab91cfb7e7d9491cfe97ed59895d87 /src
parent20c2dbdbd3847cfaa580878fca2566347a2f4733 (diff)
downloadzig-029d37d6a7dc96f71dded5d5a9c8e7477aaa4146.tar.gz
zig-029d37d6a7dc96f71dded5d5a9c8e7477aaa4146.zip
fix bug when multiple function definitions exist
This might be related to #529
Diffstat (limited to 'src')
-rw-r--r--src/codegen.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/codegen.cpp b/src/codegen.cpp
index 38a1a2cbea..248dc7a382 100644
--- a/src/codegen.cpp
+++ b/src/codegen.cpp
@@ -408,6 +408,7 @@ static LLVMValueRef fn_llvm_value(CodeGen *g, FnTableEntry *fn_table_entry) {
LLVMValueRef existing_llvm_fn = LLVMGetNamedFunction(g->module, buf_ptr(symbol_name));
if (existing_llvm_fn) {
fn_table_entry->llvm_value = LLVMConstBitCast(existing_llvm_fn, LLVMPointerType(fn_llvm_type, 0));
+ return fn_table_entry->llvm_value;
} else {
fn_table_entry->llvm_value = LLVMAddFunction(g->module, buf_ptr(symbol_name), fn_llvm_type);
}