let rec loc_offset env loc ty = function
| TNoOffset -> loc
| TField(f,off) ->
loc_offset env (M.field loc f) f.ftype off
| TIndex(t,off) ->
let k = integer_of_data (kind_of t.term_type) (!data_rec env t) in
let ty_elt = Cil.typeOf_array_elem ty in
let te = Ctypes.object_of ty_elt in
loc_offset env (M.index loc te k) ty_elt off