Definition is_void_type (ty: type) : bool :=
match ty with Tvoid => true | _ => false end.
Definition ret_tycon (Delta: tycontext): tycontext :=
mk_tycontext
(if is_void_type (ret_type Delta)
then (PTree.empty _)
else (PTree.set ret_temp (ret_type Delta) (PTree.empty _)))
(PTree.empty _)
(ret_type Delta)
(glob_types Delta)
(glob_specs Delta)
(annotations Delta).

(* Specifications: *)
Lemma semax_post'': forall R' Espec {cs: compspecs} Delta R P c t,
t = ret_type Delta ->
ENTAIL ret_tycon Delta, R' |-- R ->
@semax cs Espec Delta P c (frame_ret_assert (function_body_ret_assert t R') emp) ->
@semax cs Espec Delta P c (frame_ret_assert (function_body_ret_assert t R) emp).