Fixed bug in interference computation

To know the variables read by an equation, we should
only look at the clock of variables. Otherwise, 
there could be a problem for node calls that 
define new clocks.
This commit is contained in:
Cédric Pasteur 2012-02-09 11:48:36 +01:00
parent 7866321089
commit 6e2e2a9f47

View file

@ -70,7 +70,7 @@ module InterfRead = struct
exception Const_extvalue
let rec vars_ck acc = function
| Con(_, _, n) -> IvarSet.add (Ivar n) acc
| Con(ck2, _, n) -> IvarSet.add (Ivar n) (vars_ck acc ck2)
| Cbase | Cvar { contents = Cindex _ } -> acc
| Cvar { contents = Clink ck } -> vars_ck acc ck
@ -118,7 +118,7 @@ module InterfRead = struct
| Eiterator (_, _, _, _, _, Some x) -> IvarSet.add (Ivar x) acc
| _ -> acc
in
e, vars_ct acc e.e_ct
e, acc
let rec vars_pat acc = function
| Evarpat x -> IvarSet.add (Ivar x) acc