diff options
-rw-r--r-- | cfrontend/Csem.v | 4 | ||||
-rw-r--r-- | cfrontend/Cshmgenproof3.v | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/cfrontend/Csem.v b/cfrontend/Csem.v index af601aca..8d8f88a3 100644 --- a/cfrontend/Csem.v +++ b/cfrontend/Csem.v @@ -562,10 +562,10 @@ Inductive eval_expr: expr -> val -> Prop := eval_expr a2 v2 -> bool_of_val v2 (typeof a2) v -> eval_expr (Expr (Eandbool a1 a2) ty) v - | eval_Ecast: forall a ty v1 v, + | eval_Ecast: forall a ty ty' v1 v, eval_expr a v1 -> cast v1 (typeof a) ty v -> - eval_expr (Expr (Ecast ty a) ty) v + eval_expr (Expr (Ecast ty a) ty') v (** [eval_lvalue ge e m a b ofs] defines the evaluation of expression [a] in l-value position. The result is the memory location [b, ofs] diff --git a/cfrontend/Cshmgenproof3.v b/cfrontend/Cshmgenproof3.v index 54f9b772..2b2cefbc 100644 --- a/cfrontend/Cshmgenproof3.v +++ b/cfrontend/Cshmgenproof3.v @@ -628,10 +628,10 @@ Proof. Qed. Lemma transl_Ecast_correct: - forall (a : Csyntax.expr) (ty : type) (v1 v : val), + forall (a : Csyntax.expr) (ty ty': type) (v1 v : val), Csem.eval_expr ge e m a v1 -> eval_expr_prop a v1 -> - cast v1 (typeof a) ty v -> eval_expr_prop (Expr (Ecast ty a) ty) v. + cast v1 (typeof a) ty v -> eval_expr_prop (Expr (Ecast ty a) ty') v. Proof. intros; red; intros. inversion WT; clear WT; subst. monadInv TR. eapply make_cast_correct; eauto. |