let mk_memory_ctype = function
| TVoid _ -> abort "unsupported memory type"
| TInt (k, _) -> mk_memory_int_ctype k
| TEnum _ -> mk_memory_type_var "Menum"
| TFloat (k, _) -> mk_memory_float_ctype k
| TPtr _ -> mk_memory_type_var "Mptr"
| TArray _ -> abort "unsupported memory type"
| TComp _ -> abort "unsupported memory type"
(* TODO find the size of this type *)
| TBuiltin_va_list _ -> abort "unsupported memory type"
| TFun _ -> abort "unsupported memory type"
| TNamed _ -> abort "unsupported memory type"