let upd_one_trans trans func status loc allowedCrossableTr computedIsActiveSt sid =
let getNamedOffset s = Cil.new_exp ~loc (Const (CEnum (find_enum s.nums))) in
let b = ref true in
let expr=
if allowedCrossableTr.(trans.numt) && (computedIsActiveSt.(trans.start.nums)) then
conj_crosscond_old
(crosscond_to_exp trans.cross func status sid)
(new_exp ~loc
(Lval(mk_offseted_array_lval curStateOld (getNamedOffset trans.start))))
else
begin
b:=false;
(mk_int_exp 0)
end
in
(!b,
Cil_types.Set(
(mk_int_offseted_array_lval curTrans trans.numt),
expr,
loc
))