let data_const = function
| CInt64(k,_ik,_) ->
data_of_integer (F.e_icst (Int64.to_string k))
| CChr c ->
data_of_integer (F.e_icst (string_of_int (Char.code c)))
| CReal(f,_fk,_) ->
data_of_real (F.e_rcst (string_of_float f))
| CEnum e ->
let machdep = true in
let e' = Cil.constFold machdep e.eival in
begin
match e'.enode with
| Const CInt64(k,_,_) ->
data_of_integer (F.e_icst (Int64.to_string k))
| Const CChr c ->
data_of_integer (F.e_icst (string_of_int (Char.code c)))
| _ -> WpLog.fatal "unrecognized sizeof/alignof "
end
| CWStr _ ->
WpLog.not_yet_implemented "wide character string constant"
| CStr s ->
WpLog.not_yet_implemented "character string constant (%S)" s