authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2017-04-13 03:34:57-04:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2017-04-13 03:34:57-04:00
logdcfa0e50dc028a2141af642b17376bfebfe0be21
treeab992c5e38ac688d08d0414ac4f0c9ceba6d22a1
parentf2140efc5255aa0f0eb826ddd379e07acf6ba131

all internal functions get unnamed_addr attribute


1 files changed, 7 insertions(+), 1 deletions(-)

src/codegen.cpp+7-1
...@@ -345,6 +345,7 @@ static LLVMValueRef fn_llvm_value(CodeGen *g, FnTableEntry *fn_table_entry) {...@@ -345,6 +345,7 @@ static LLVMValueRef fn_llvm_value(CodeGen *g, FnTableEntry *fn_table_entry) {
345 switch (fn_table_entry->linkage) {345 switch (fn_table_entry->linkage) {
346 case GlobalLinkageIdInternal:346 case GlobalLinkageIdInternal:
347 LLVMSetLinkage(fn_table_entry->llvm_value, LLVMInternalLinkage);347 LLVMSetLinkage(fn_table_entry->llvm_value, LLVMInternalLinkage);
348 LLVMSetUnnamedAddr(fn_table_entry->llvm_value, true);
348 break;349 break;
349 case GlobalLinkageIdStrong:350 case GlobalLinkageIdStrong:
350 LLVMSetLinkage(fn_table_entry->llvm_value, LLVMExternalLinkage);351 LLVMSetLinkage(fn_table_entry->llvm_value, LLVMExternalLinkage);
...@@ -4743,9 +4744,14 @@ static void get_c_type(CodeGen *g, TypeTableEntry *type_entry, Buf *out_buf) {...@@ -4743,9 +4744,14 @@ static void get_c_type(CodeGen *g, TypeTableEntry *type_entry, Buf *out_buf) {
4743 zig_unreachable();4744 zig_unreachable();
4744 }4745 }
4745 }4746 }
4747 case TypeTableEntryIdStruct:
4748 {
4749 // TODO add to table of structs we need to declare
4750 buf_init_from_buf(out_buf, &type_entry->name);
4751 return;
4752 }
4746 case TypeTableEntryIdOpaque:4753 case TypeTableEntryIdOpaque:
4747 case TypeTableEntryIdArray:4754 case TypeTableEntryIdArray:
4748 case TypeTableEntryIdStruct:
4749 case TypeTableEntryIdErrorUnion:4755 case TypeTableEntryIdErrorUnion:
4750 case TypeTableEntryIdPureError:4756 case TypeTableEntryIdPureError:
4751 case TypeTableEntryIdEnum:4757 case TypeTableEntryIdEnum: