method vstmt_aux stmt =
match stmt.skind with
| Return (_,loc) ->
if not (Data_for_ltl.isIgnoredFunction !current_function) then begin
let sync_inst_l = Ltl_utils.synch_upd auto (!current_function) Promelaast.Return loc None None in
let new_return = mkStmt stmt.skind in
new_return.sid<-(Cil.Sid.next ());
let new_stmts =
List.fold_left
(fun stmt_l inst ->
let n_stmt=(Cil.mkStmtOneInstr inst) in
n_stmt.sid<-(Cil.Sid.next ());
n_stmt::stmt_l
)
[new_return]
sync_inst_l
in
stmt.skind<-Block(Cil.mkBlock(new_stmts))
end;
SkipChildren
| Instr(Call (_,funcexp,_,loc)) ->
if not (Data_for_ltl.isIgnoredFunction (get_call_name funcexp)) then begin
let sync_inst_l = Ltl_utils.synch_upd auto (get_call_name funcexp) Promelaast.Call loc (Some(!current_function)) (Some(stmt.sid)) in
let new_call = mkStmt stmt.skind in
new_call.sid<-(Cil.Sid.next ());
let new_stmts =
List.fold_left
(fun stmt_l inst ->
let n_stmt=(Cil.mkStmtOneInstr inst) in
n_stmt.sid<-(Cil.Sid.next ());
n_stmt::stmt_l
)
[new_call]
sync_inst_l
in
stmt.skind<-Block(Cil.mkBlock(new_stmts))
end;
SkipChildren
| _ -> DoChildren