diff --git a/compiler/minils/transformations/tomato.ml b/compiler/minils/transformations/tomato.ml index 98f13aa..5cad2fc 100644 --- a/compiler/minils/transformations/tomato.ml +++ b/compiler/minils/transformations/tomato.ml @@ -258,7 +258,10 @@ and extvalue is_input w class_id_list = let w_x = mk_extvalue ~ty:Initial.tbool ~clock:w.w_ck ~linearity:w.w_linearity (Wvar x) in let class_id_list, w = decompose w (class_ref_of_var is_input w_x x :: class_id_list) in class_id_list, Wwhen (w, cn, dummy_var) - | Wreinit _ -> assert false + | Wreinit (w1, w2) -> + let class_id_list, w1 = decompose w1 class_id_list in + let class_id_list, w2 = decompose w2 class_id_list in + class_id_list, Wreinit (w1, w2) in class_id_list, { w with w_desc = wd; } in @@ -410,7 +413,10 @@ and reconstruct_extvalues mapping w_list children = | Wfield (w', fn) -> let w', children = reconstruct_extvalue w' children in { w with w_desc = Wfield (w', fn); }, children - | Wreinit _ -> assert false + | Wreinit (w1, w2) -> + let w1, children = reconstruct_extvalue w1 children in + let w2, children = reconstruct_extvalue w2 children in + { w with w_desc = Wreinit (w1, w2); }, children in let consume w (children, result_w_list) =