From b9aaba7b1626fc13de8b7dcdc91ec056b2f1ddc5 Mon Sep 17 00:00:00 2001 From: luoliwoshang <2643523683@qq.com> Date: Fri, 6 Sep 2024 15:28:17 +0800 Subject: [PATCH] llcppsigfetch:fix nil type of FuncNoProto in C mode --- chore/_xtool/llcppsigfetch/parse/cvt.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/chore/_xtool/llcppsigfetch/parse/cvt.go b/chore/_xtool/llcppsigfetch/parse/cvt.go index e2ca9344..3da93309 100644 --- a/chore/_xtool/llcppsigfetch/parse/cvt.go +++ b/chore/_xtool/llcppsigfetch/parse/cvt.go @@ -289,7 +289,6 @@ func (ct *Converter) Convert() (map[string]*ast.File, error) { } func (ct *Converter) ProcessType(t clang.Type) ast.Expr { - if t.Kind >= clang.TypeFirstBuiltin && t.Kind <= clang.TypeLastBuiltin { return ct.ProcessBuiltinType(t) } @@ -306,7 +305,8 @@ func (ct *Converter) ProcessType(t clang.Type) ast.Expr { expr = &ast.LvalueRefType{X: ct.ProcessType(t.NonReferenceType())} case clang.TypeRValueReference: expr = &ast.RvalueRefType{X: ct.ProcessType(t.NonReferenceType())} - case clang.TypeFunctionProto: + case clang.TypeFunctionProto, clang.TypeFunctionNoProto: + // treating TypeFunctionNoProto as a general function without parameters // function type will only collect return type, params will be collected in ProcessFuncDecl expr = ct.ProcessFunctionType(t) case clang.TypeConstantArray, clang.TypeIncompleteArray, clang.TypeVariableArray, clang.TypeDependentSizedArray: