diff --git a/clangml-transforms/for_memcad.ml b/clangml-transforms/for_memcad.ml index 3ef65adc84cd3efc1fef99b89f0e49f4e12581cc..98a80ad28d56329e8e515387eef7b7044999b82d 100644 --- a/clangml-transforms/for_memcad.ml +++ b/clangml-transforms/for_memcad.ml @@ -211,6 +211,8 @@ with type 'a Applicative.t = 'a Applicative.t = struct (Clang.Ast.DeclRef (Clang.Ast.identifier_name var_name)); kind = Assign; rhs = init }}} in close_stmts init_stmts [decl; init] + | { desc = Do { body; cond = { desc = IntegerLiteral (Int 0); _ }; _ }; _} -> + [ close_node (Visit.visit [%refl: Clang.Ast.stmt] [] body env) ] | { desc = Do { body; cond; _ }; _} -> let cond, cond_stmts = Visit.visit [%refl: Clang.Ast.expr] []