diff options
| author | Andrew Kelley <superjoe30@gmail.com> | 2017-11-10 14:58:50 -0500 |
|---|---|---|
| committer | Andrew Kelley <superjoe30@gmail.com> | 2017-11-10 14:58:50 -0500 |
| commit | 029d37d6a7dc96f71dded5d5a9c8e7477aaa4146 (patch) | |
| tree | 518cb47a9dab91cfb7e7d9491cfe97ed59895d87 /src | |
| parent | 20c2dbdbd3847cfaa580878fca2566347a2f4733 (diff) | |
| download | zig-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.cpp | 1 |
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); } |
