aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/ast.c
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-02-07 15:42:00 +0900
committernsfisis <nsfisis@gmail.com>2026-02-07 17:33:55 +0900
commitcdddf2422553f1f21c8d2c57cd382b8362dc80fb (patch)
tree3053026498552aecda2e4889c8455298ad70c8cb /src/ast.c
parente1042a6373773830297dfd5718938c12f21ae624 (diff)
downloadducc-cdddf2422553f1f21c8d2c57cd382b8362dc80fb.tar.gz
ducc-cdddf2422553f1f21c8d2c57cd382b8362dc80fb.tar.zst
ducc-cdddf2422553f1f21c8d2c57cd382b8362dc80fb.zip
feat: support function calls via function pointers
The two-pass parsing of function pointer declaration is referenced from chibicc: https://github.com/rui314/chibicc
Diffstat (limited to 'src/ast.c')
-rw-r--r--src/ast.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/ast.c b/src/ast.c
index c2e1aba..eb478c5 100644
--- a/src/ast.c
+++ b/src/ast.c
@@ -454,11 +454,11 @@ AstNode* ast_new_str_expr(int idx, Type* ty) {
return e;
}
-AstNode* ast_new_func_call(const char* name, Type* ty) {
+AstNode* ast_new_func_call(AstNode* func, AstNode* args) {
AstNode* e = ast_new(AstNodeKind_func_call);
e->as.func_call = calloc(1, sizeof(FuncCallNode));
- e->as.func_call->name = name;
- e->ty = ty;
+ e->as.func_call->func = func;
+ e->as.func_call->args = args;
return e;
}