| ... | @@ -945,9 +945,14 @@ static void resolve_function_proto(CodeGen *g, AstNode *node, FnTableEntry *fn_t | ... | @@ -945,9 +945,14 @@ static void resolve_function_proto(CodeGen *g, AstNode *node, FnTableEntry *fn_t |
| 945 | return; | 945 | return; |
| 946 | } | 946 | } |
| 947 | | 947 | |
| 948 | | 948 | Buf *symbol_name; |
| 949 | fn_table_entry->fn_value = LLVMAddFunction(g->module, buf_ptr(&fn_table_entry->symbol_name), | 949 | if (is_c_compat) { |
| 950 | fn_type->data.fn.raw_type_ref); | 950 | symbol_name = &fn_table_entry->symbol_name; |
| | 951 | } else { |
| | 952 | symbol_name = buf_sprintf("_%s", buf_ptr(&fn_table_entry->symbol_name)); |
| | 953 | } |
| | 954 | fn_table_entry->fn_value = LLVMAddFunction(g->module, buf_ptr(symbol_name), |
| | 955 | fn_type->data.fn.raw_type_ref); |
| 951 | | 956 | |
| 952 | if (fn_table_entry->is_inline) { | 957 | if (fn_table_entry->is_inline) { |
| 953 | LLVMAddFunctionAttr(fn_table_entry->fn_value, LLVMAlwaysInlineAttribute); | 958 | LLVMAddFunctionAttr(fn_table_entry->fn_value, LLVMAlwaysInlineAttribute); |