diff --git a/src/lib/parser.mly b/src/lib/parser.mly index efd27738e..f080d16e1 100644 --- a/src/lib/parser.mly +++ b/src/lib/parser.mly @@ -1017,6 +1017,8 @@ type_def: { mk_td (TD_variant ($2, TypQ_aux (TypQ_tq [], loc $endpos($2) $startpos($3)), $5)) $startpos $endpos } | Union id typaram Eq Lcurly type_unions Rcurly { mk_td (TD_variant ($2, $3, $6)) $startpos $endpos } + | Bitfield id Colon typ Eq Lcurly Rcurly + { mk_td (TD_bitfield ($2, $4, [])) $startpos $endpos } | Bitfield id Colon typ Eq Lcurly r_def_body Rcurly { mk_td (TD_bitfield ($2, $4, $7)) $startpos $endpos } diff --git a/test/typecheck/pass/bitfield_empty.sail b/test/typecheck/pass/bitfield_empty.sail new file mode 100644 index 000000000..9a5cd8331 --- /dev/null +++ b/test/typecheck/pass/bitfield_empty.sail @@ -0,0 +1,11 @@ +default Order dec + +$include + +type xlen : Int = 2 ^ 2 + +bitfield foo : bits(xlen) = { } + +bitfield bar : bits(xlen) = { + +}