瀏覽代碼

Fix `#c_vararg` for LLVM C API

gingerBill 5 年之前
父節點
當前提交
f305726015
共有 1 個文件被更改,包括 8 次插入0 次删除
  1. 8 0
      src/llvm_backend.cpp

+ 8 - 0
src/llvm_backend.cpp

@@ -1328,6 +1328,10 @@ LLVMTypeRef lb_type_internal(lbModule *m, Type *type) {
 				if (param == nullptr) {
 					continue;
 				}
+				if (type->Proc.params->Tuple.variables[i]->flags & EntityFlag_CVarArg) {
+					GB_ASSERT(i+1 == type->Proc.abi_compat_params.count);
+					break;
+				}
 				if (is_type_tuple(param)) {
 					param = base_type(param);
 					for_array(j, param->Tuple.variables) {
@@ -12291,6 +12295,10 @@ void lb_generate_code(lbGenerator *gen) {
 			m->curr_procedure = nullptr;
 		}
 		lb_end_procedure(p);
+		if (p->name == "igTextColored") {
+			LLVMDumpValue(p->value);
+			gb_printf_err("\n");
+		}
 
 		// Add Flags
 		if (p->body != nullptr) {