Definition removeopt_localdef (ret: option ident) (l: list localdef) : list localdef :=
match ret with
| Some id => remove_localdef_temp id l
| None => l
end.

(* Specifications: *)
Lemma semax_call': forall Espec {cs: compspecs} Delta fs A Pre Post NEPre NEPost ts x ret argsig retsig cc a bl P Q R,
Cop.classify_fun (typeof a) = Cop.fun_case_f (type_of_params argsig) retsig cc ->
match retsig, ret with
| Tvoid, None => True
| Tvoid, Some _ => False
| _, _ => True
end ->
forall (Hret: tc_fn_return Delta ret retsig)
(Hsub: subsume_funspec fs (mk_funspec (argsig,retsig) cc A Pre Post NEPre NEPost))
forall fs1 fs2, subsume_funspec fs1 fs2 ->
type_of_funspec fs1 = type_of_funspec fs2.