aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorlemon <lsof@mailbox.org>2022-08-18 20:29:30 +0200
committerlemon <lsof@mailbox.org>2022-08-18 20:29:30 +0200
commit0e7882921b17c06b05a47d9ef1e3328121707568 (patch)
treea7fc2858af993eebc217f229e8bb429671c017be /src
parent8f3f9a5ba1fe069edf9d64f0d6743b9b3d9f5bcb (diff)
switch enum
Diffstat (limited to 'src')
-rw-r--r--src/fold.cff2
-rw-r--r--src/parse.cff1
2 files changed, 2 insertions, 1 deletions
diff --git a/src/fold.cff b/src/fold.cff
index 476e860..a2c95b8 100644
--- a/src/fold.cff
+++ b/src/fold.cff
@@ -113,7 +113,7 @@ extern fn fold(ex *Expr) bool {
numcast(ex, ex.ty);
return #t;
- case :StrLit, :NullLit;
+ case :StrLit, :NullLit, :EnumIni;
return #t;
case :UnOp;
diff --git a/src/parse.cff b/src/parse.cff
index 7ce605c..a2071f8 100644
--- a/src/parse.cff
+++ b/src/parse.cff
@@ -1808,6 +1808,7 @@ fn pstiswitch(P *Parser, loc Loc, ex Expr) Stmt {
}
let es Vec<Expr> = {};
do {
+ P.targty = ex.ty;
let e = parseexpr(P);
if !fold(&e) {
err(P, e.loc, "expected compile-time expression");