浏览代码

Merge pull request #2861 from seventh-chord/master

llvm: specify calling convention on call
gingerBill 1 年之前
父节点
当前提交
45d08ea992
共有 1 个文件被更改,包括 3 次插入0 次删除
  1. 3 0
      src/llvm_backend_proc.cpp

+ 3 - 0
src/llvm_backend_proc.cpp

@@ -891,6 +891,9 @@ gb_internal lbValue lb_emit_call_internal(lbProcedure *p, lbValue value, lbValue
 
 
 		LLVMValueRef ret = LLVMBuildCall2(p->builder, fnp, fn, args, arg_count, "");
 		LLVMValueRef ret = LLVMBuildCall2(p->builder, fnp, fn, args, arg_count, "");
 
 
+		auto llvm_cc = lb_calling_convention_map[proc_type->Proc.calling_convention];
+		LLVMSetInstructionCallConv(ret, llvm_cc);
+
 		LLVMAttributeIndex param_offset = LLVMAttributeIndex_FirstArgIndex;
 		LLVMAttributeIndex param_offset = LLVMAttributeIndex_FirstArgIndex;
 		if (return_ptr.value != nullptr) {
 		if (return_ptr.value != nullptr) {
 			param_offset += 1;
 			param_offset += 1;