let pretty_c_assert fmt m =
Format.fprintf fmt "@[";
(match m with
Bottom -> Format.fprintf fmt "0"
| Map m ->
let first = ref true in
let print_ampamp () =
if !first
then
first := false
else
Format.fprintf fmt "@\n&& ";
in
LBase.iter
(fun base offs ->
match base with
Base.Var(v,_) ->
let typ = unrollType v.Cil_types.vtype in
let name = v.Cil_types.vname in
V_Offsetmap.pretty_c_assert_typ name typ print_ampamp fmt offs
| _ -> ())
m
| Top -> Format.fprintf fmt "1");
Format.fprintf fmt "@]"