diff options
| author | Alasdair Armstrong | 2018-01-04 19:16:29 +0000 |
|---|---|---|
| committer | Alasdair Armstrong | 2018-01-04 19:16:29 +0000 |
| commit | 8147deaf0bccdbb19d4c020583fc8a5c7b6197e8 (patch) | |
| tree | ecd55a1ce077b0bc7de61ef6375560de2596cf6e /src/rewrites.ml | |
| parent | 05c2d0f45dcc632a11b4868b04776c1916b41454 (diff) | |
Additional tests for ocaml backend
Diffstat (limited to 'src/rewrites.ml')
| -rw-r--r-- | src/rewrites.ml | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/rewrites.ml b/src/rewrites.ml index 87baa746..9b97b88b 100644 --- a/src/rewrites.ml +++ b/src/rewrites.ml @@ -1354,7 +1354,7 @@ let id_is_unbound id env = match Env.lookup_id id env with | _ -> false let rec lexp_is_local (LEXP_aux (lexp, _)) env = match lexp with - | LEXP_memory _ -> false + | LEXP_memory _ | LEXP_deref _ -> false | LEXP_id id | LEXP_cast (_, id) -> id_is_local_var id env | LEXP_tup lexps -> List.for_all (fun lexp -> lexp_is_local lexp env) lexps @@ -1363,7 +1363,7 @@ let rec lexp_is_local (LEXP_aux (lexp, _)) env = match lexp with | LEXP_field (lexp,_) -> lexp_is_local lexp env let rec lexp_is_local_intro (LEXP_aux (lexp, _)) env = match lexp with - | LEXP_memory _ -> false + | LEXP_memory _ | LEXP_deref _ -> false | LEXP_id id | LEXP_cast (_, id) -> id_is_unbound id env | LEXP_tup lexps -> List.for_all (fun lexp -> lexp_is_local_intro lexp env) lexps @@ -1378,7 +1378,7 @@ let lexp_is_effectful (LEXP_aux (_, (_, annot))) = match annot with let rec rewrite_lexp_to_rhs (do_rewrite : tannot lexp -> bool) ((LEXP_aux(lexp,((l,_) as annot))) as le) = if do_rewrite le then match lexp with - | LEXP_id _ | LEXP_cast (_, _) | LEXP_tup _ -> (le, (fun exp -> exp)) + | LEXP_id _ | LEXP_cast (_, _) | LEXP_tup _ | LEXP_deref _ -> (le, (fun exp -> exp)) | LEXP_vector (lexp, e) -> let (lhs, rhs) = rewrite_lexp_to_rhs do_rewrite lexp in (lhs, (fun exp -> rhs (E_aux (E_vector_update (lexp_to_exp lexp, e, exp), annot)))) |
