commit dcfa0e50dc028a2141af642b17376bfebfe0be21 (tree)
parent f2140efc5255aa0f0eb826ddd379e07acf6ba131
Author: Andrew Kelley <superjoe30@gmail.com>
Date: Thu, 13 Apr 2017 03:34:57 -0400
all internal functions get unnamed_addr attribute
Diffstat:
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/src/codegen.cpp b/src/codegen.cpp
@@ -345,6 +345,7 @@ static LLVMValueRef fn_llvm_value(CodeGen *g, FnTableEntry *fn_table_entry) {
switch (fn_table_entry->linkage) {
case GlobalLinkageIdInternal:
LLVMSetLinkage(fn_table_entry->llvm_value, LLVMInternalLinkage);
+ LLVMSetUnnamedAddr(fn_table_entry->llvm_value, true);
break;
case GlobalLinkageIdStrong:
LLVMSetLinkage(fn_table_entry->llvm_value, LLVMExternalLinkage);
@@ -4743,9 +4744,14 @@ static void get_c_type(CodeGen *g, TypeTableEntry *type_entry, Buf *out_buf) {
zig_unreachable();
}
}
+ case TypeTableEntryIdStruct:
+ {
+ // TODO add to table of structs we need to declare
+ buf_init_from_buf(out_buf, &type_entry->name);
+ return;
+ }
case TypeTableEntryIdOpaque:
case TypeTableEntryIdArray:
- case TypeTableEntryIdStruct:
case TypeTableEntryIdErrorUnion:
case TypeTableEntryIdPureError:
case TypeTableEntryIdEnum: