diff --git a/includes/llvmlite/__function.vp b/includes/llvmlite/__function.vp index b5bc346..37b8d61 100644 --- a/includes/llvmlite/__function.vp +++ b/includes/llvmlite/__function.vp @@ -687,7 +687,12 @@ def FunctionPrint(buf: t.CChar | t.CPtr, size: t.CSizeT, while cur is not None: cur_steps += 1 if cur_steps > IR_DUMP_CHAIN_LIMIT: - stdio.printf("[IR-DUMP] 链表成环: func params(函数名=%s,print 终止)\n", func.Name) + if func.Params is not None: + stdio.printf("[IR-DUMP] 链表异常: func params(函数名=%s,Params.Count=%zu,遍历超 %d 步,print 终止)\n", + func.Name, func.Params.Count, IR_DUMP_CHAIN_LIMIT) + else: + stdio.printf("[IR-DUMP] 链表异常: func params(函数名=%s,Params=None,遍历超 %d 步,print 终止)\n", + func.Name, IR_DUMP_CHAIN_LIMIT) stdlib.exit(1) if first == 0: _append_cstr(buf, size, ", ") diff --git a/includes/llvmlite/__module.vp b/includes/llvmlite/__module.vp index a5daf9d..cc08bfc 100644 --- a/includes/llvmlite/__module.vp +++ b/includes/llvmlite/__module.vp @@ -242,8 +242,8 @@ class LLVMModule: while param_scan is not None: param_scan_steps += 1 if param_scan_steps > IR_DUMP_CHAIN_LIMIT: - stdio.printf("[IR-DUMP] 链表成环: func params(函数名=%s,dump 终止)\n", - func_scan.Name) + stdio.printf("[IR-DUMP] 链表异常: func params(函数名=%s,Params.Count=%zu,遍历超 %d 步,终止)\n", + func_scan.Name, func_scan.Params.Count, IR_DUMP_CHAIN_LIMIT) stdlib.exit(1) if param_scan.Ty is not None: self.ensure_opaque_for_type(pool, param_scan.Ty)