let pretty_typ typ fmt i =
let typ =
match typ with
Some t -> t
| None ->
Cil_types.TArray
(Cil_types.TInt(Cil_types.IUChar,[]),
Some (Cil.kinteger64
~loc:(Cil.CurrentLoc.get ())
Cil_types.IULongLong 922337203685477580L
),
Cil.empty_size_cache (),
[])
in
match i with
| Top -> Format.fprintf fmt "[..]"
| Set s ->
if s=[] then Format.fprintf fmt "BottomISet"
else begin
let pp_one fmt (b,e)=
assert (Int.le b e) ;
ignore (Bit_utils.pretty_bits typ
~use_align:false
~align:Int.zero
~rh_size:Int.one
~start:b ~stop:e fmt) in
let pp_stmt fmt r = Format.fprintf fmt "%a;@ " pp_one r in
match s with
| [] -> Format.pp_print_string fmt "{}"
| [r] -> pp_one fmt r
| s ->
Format.fprintf fmt "@[<hov 1>{" ;
List.iter (pp_stmt fmt) s ;
Format.fprintf fmt "}@]" ;
end