Don't remove local variables in causality
A dependency between two variables can be caused by a local variable
This commit is contained in:
parent
ffe2b23a82
commit
6ba0e7b2b3
2 changed files with 6 additions and 4 deletions
|
@ -208,9 +208,10 @@ and typing_automaton state_handlers =
|
|||
corlist (List.map handler state_handlers)
|
||||
|
||||
and typing_block { b_local = dec; b_equs = eq_list; b_loc = loc } =
|
||||
let teq = typing_eqs eq_list in
|
||||
Causal.check loc teq;
|
||||
clear (build dec) teq
|
||||
(*let teq = typing_eqs eq_list in
|
||||
Causal.check loc teq;
|
||||
clear (build dec) teq *)
|
||||
typing_eqs eq_list
|
||||
|
||||
let typing_contract loc contract =
|
||||
match contract with
|
||||
|
@ -226,7 +227,8 @@ let typing_contract loc contract =
|
|||
let typing_node { n_contract = contract;
|
||||
n_block = b; n_loc = loc } =
|
||||
let _ = typing_contract loc contract in
|
||||
ignore (typing_block b)
|
||||
let teq = typing_block b in
|
||||
Causal.check loc teq
|
||||
|
||||
let program ({ p_desc = pd } as p) =
|
||||
List.iter (function Pnode n -> typing_node n | _ -> ()) pd;
|
||||
|
|
Loading…
Reference in a new issue