aboutsummaryrefslogtreecommitdiff
path: root/bootstrap/all.h
diff options
context:
space:
mode:
authorlemon <lsof@mailbox.org>2022-08-07 22:36:57 +0200
committerlemon <lsof@mailbox.org>2022-08-07 22:36:57 +0200
commit96ef1857bac446f4e065e7c10530213e361d726a (patch)
tree2c5241e4f7cf03d3498ff3114ca315ea076c855c /bootstrap/all.h
parente305f71c3cbd685eacb77451b3728b2cac492d71 (diff)
add tagged unions
Diffstat (limited to 'bootstrap/all.h')
-rw-r--r--bootstrap/all.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/bootstrap/all.h b/bootstrap/all.h
index fb6bfe6..6e63058 100644
--- a/bootstrap/all.h
+++ b/bootstrap/all.h
@@ -180,6 +180,7 @@ struct type {
} enu;
struct {
const char *name;
+ const struct type *enumty;
slice_t(struct aggfield {
size_t off;
const char *name;
@@ -304,6 +305,7 @@ enum exprtype {
Emcall,
Eslice,
Elen,
+ Eeuini,
};
struct blockstmt {
@@ -365,6 +367,11 @@ struct expr {
struct {
struct expr *lhs, *start, *end;
} slice;
+ struct {
+ const char *fnam;
+ i64 tag;
+ struct expr *ini;
+ } euini;
};
};