diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-02-07 19:02:38 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-02-07 19:02:52 +0900 |
| commit | 7ba8a506a215846d14d71487807f5e525e9e5c16 (patch) | |
| tree | 5bdd89ecabdf1b9c89d469f13ab1699566e5284f /src | |
| parent | 55d624106b3abedfa13d8ea7c2edeef0d0da77a2 (diff) | |
| download | ducc-7ba8a506a215846d14d71487807f5e525e9e5c16.tar.gz ducc-7ba8a506a215846d14d71487807f5e525e9e5c16.tar.zst ducc-7ba8a506a215846d14d71487807f5e525e9e5c16.zip | |
feat: allow calling offsetof() in compile-time expression
Diffstat (limited to 'src')
| -rw-r--r-- | src/parse.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/parse.c b/src/parse.c index 55cac2b..3f55a51 100644 --- a/src/parse.c +++ b/src/parse.c @@ -2733,6 +2733,10 @@ static int eval(AstNode* e) { } } else if (e->kind == AstNodeKind_cast_expr) { return eval(e->as.cast_expr->operand); + } else if (e->kind == AstNodeKind_deref_expr) { + return eval(e->as.deref_expr->operand); + } else if (e->kind == AstNodeKind_ref_expr) { + return eval(e->as.ref_expr->operand); } else { unimplemented(); } |
