summaryrefslogtreecommitdiff
path: root/src/ast
diff options
context:
space:
mode:
authorZuhaitz Méndez Fernández de Aránguiz <zuhaitz@debian>2026-01-23 12:22:57 +0000
committerZuhaitz Méndez Fernández de Aránguiz <zuhaitz@debian>2026-01-23 12:22:57 +0000
commitf73df8d5de30a7f3f320fccf5f57c13094940a6a (patch)
tree877fda85fa3c4a906d6943ac7b7836886bc4140a /src/ast
parent98623f2fdd63232edf0ebab1b9680cf4e33e6f10 (diff)
Variadic functions + more docs
Diffstat (limited to 'src/ast')
-rw-r--r--src/ast/ast.h29
1 files changed, 28 insertions, 1 deletions
diff --git a/src/ast/ast.h b/src/ast/ast.h
index 508a247..523c1fb 100644
--- a/src/ast/ast.h
+++ b/src/ast/ast.h
@@ -127,7 +127,11 @@ typedef enum
NODE_REFLECTION,
NODE_AWAIT,
NODE_REPL_PRINT,
- NODE_CUDA_LAUNCH
+ NODE_CUDA_LAUNCH,
+ NODE_VA_START,
+ NODE_VA_END,
+ NODE_VA_COPY,
+ NODE_VA_ARG
} NodeType;
// ** AST Node Structure **
@@ -560,6 +564,29 @@ struct ASTNode
ASTNode *shared_mem; // Optional shared memory size (NULL = default)
ASTNode *stream; // Optional CUDA stream (NULL = default)
} cuda_launch;
+
+ struct
+ {
+ ASTNode *ap;
+ ASTNode *last_arg;
+ } va_start;
+
+ struct
+ {
+ ASTNode *ap;
+ } va_end;
+
+ struct
+ {
+ ASTNode *dest;
+ ASTNode *src;
+ } va_copy;
+
+ struct
+ {
+ ASTNode *ap;
+ Type *type_info;
+ } va_arg;
};
};