let check_unspecified_sequence state seq =
let rec check_one_stmt ((stmt1,writes1,_) as my_stmt) = function
[] -> ()
| (stmt2,_,_)::seq when stmt1 == stmt2 -> check_one_stmt my_stmt seq
| (stmt2,writes2,reads2) :: seq ->
check_non_overlapping state writes1 reads2;
if stmt1.sid < stmt2.sid then
check_non_overlapping state writes1 writes2;
check_one_stmt my_stmt seq
in
if Parameters.UnspecifiedAccess.get () then
List.iter (fun x -> check_one_stmt x seq) seq