let ocaml_int_to_cil v n s =
let char_size = bitsSizeOf charType in
let int_size = bitsSizeOf intType in
let short_size = bitsSizeOf (TInt(IShort,[]))in
let long_size = bitsSizeOf longType in
let longlong_size = bitsSizeOf (TInt(ILongLong,[])) in
let i =
match s with
Signed ->
if (n = char_size) then
ISChar
else if (n = int_size) then
IInt
else if (n = short_size) then
IShort
else if (n = long_size) then
ILong
else if (n = longlong_size) then
ILongLong
else
raise Weird_bitwidth
| Unsigned ->
if (n = char_size) then
IUChar
else if (n = int_size) then
IUInt
else if (n = short_size) then
IUShort
else if (n = long_size) then
IULong
else if (n = longlong_size) then
IULongLong
else
raise Weird_bitwidth
in
kinteger64 i v