let rec sizeof_c_object t : Tint.x_size = match t with
| Ctypes.C_comp comp ->
begin
try
let t = tcomp_of_comp comp in
let sz = Cil.bitsSizeOf t in
Tint.size_of_int sz
with Cil.SizeOfError (msg, t) ->
unsupported "sizeof %a : %s" !Ast_printer.d_type t msg
end
| Ctypes.C_array {Ctypes.arr_flat = Some flat} ->
let nb = flat.Ctypes.arr_cell_nbr in
let sz = sizeof_c_object (Ctypes.object_of flat.Ctypes.arr_cell) in
Tint.cnst_mult_size nb sz
| _ -> Tint.size_of_int64 (Ctypes.sizeof_object t)