| ... | @@ -2873,7 +2873,11 @@ static void do_code_gen(CodeGen *g) { | ... | @@ -2873,7 +2873,11 @@ static void do_code_gen(CodeGen *g) { |
| 2873 | | 2873 | |
| 2874 | TypeTableEntry *fn_type = fn_table_entry->type_entry; | 2874 | TypeTableEntry *fn_type = fn_table_entry->type_entry; |
| 2875 | | 2875 | |
| 2876 | if (handle_is_ptr(fn_type->data.fn.fn_type_id.return_type)) { | 2876 | if (!type_has_bits(fn_type->data.fn.fn_type_id.return_type)) { |
| | 2877 | // nothing to do |
| | 2878 | } else if (fn_type->data.fn.fn_type_id.return_type->id == TypeTableEntryIdPointer) { |
| | 2879 | LLVMZigAddNonNullAttr(fn_table_entry->fn_value, 0); |
| | 2880 | } else if (handle_is_ptr(fn_type->data.fn.fn_type_id.return_type)) { |
| 2877 | LLVMValueRef first_arg = LLVMGetParam(fn_table_entry->fn_value, 0); | 2881 | LLVMValueRef first_arg = LLVMGetParam(fn_table_entry->fn_value, 0); |
| 2878 | LLVMAddAttribute(first_arg, LLVMStructRetAttribute); | 2882 | LLVMAddAttribute(first_arg, LLVMStructRetAttribute); |
| 2879 | LLVMZigAddNonNullAttr(fn_table_entry->fn_value, 1); | 2883 | LLVMZigAddNonNullAttr(fn_table_entry->fn_value, 1); |