Fixed bug in the interference of fold
This commit is contained in:
parent
1ea4290f9e
commit
75b4fa9ddc
2 changed files with 1 additions and 1 deletions
|
@ -444,6 +444,7 @@ let process_eq ({ eq_lhs = pat; eq_rhs = e } as eq) =
|
|||
| Evarpat x, Eiterator((Ifold|Ifoldi), { a_op = Enode _ | Efun _ }, _, pw_list, w_list, _) ->
|
||||
(* because of the encoding of the fold, the output is written before
|
||||
the inputs are read so they must interfere *)
|
||||
let w_list, _ = Misc.split_last w_list in
|
||||
let invars = InterfRead.ivars_of_extvalues w_list in
|
||||
let pinvars = InterfRead.ivars_of_extvalues pw_list in
|
||||
List.iter (add_interference_link_from_ivar (Ivar x)) invars;
|
||||
|
|
|
@ -114,7 +114,6 @@ let var_decs _ (env, mutables,j) vds =
|
|||
else (
|
||||
let vd =
|
||||
if IdentSet.mem vd.v_ident mutables then (
|
||||
Format.printf "%s is mutable@.";
|
||||
{ vd with v_mutable = true }
|
||||
) else
|
||||
vd
|
||||
|
|
Loading…
Reference in a new issue