Skip to content

Commit 74cbdbf

Browse files
committed
Keep Events.meminj_preserve_globals for backward compatibility
Just to support VST and other projects that might still be using it. We'll remove it in a few releases.
1 parent bd2b382 commit 74cbdbf

1 file changed

Lines changed: 18 additions & 0 deletions

File tree

‎common/Events.v‎

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1788,3 +1788,21 @@ Qed.
17881788

17891789
End EVAL_BUILTIN_ARG_LESSDEF.
17901790

1791+
(** * Backward compatibility *)
1792+
1793+
Definition meminj_preserves_globals_deprecated (F V: Type) (ge: Genv.t F V) (f: block -> option (block * Z)) : Prop :=
1794+
(forall id b, Genv.find_symbol ge id = Some b -> f b = Some(b, 0))
1795+
/\ (forall b gv, Genv.find_var_info ge b = Some gv -> f b = Some(b, 0))
1796+
/\ (forall b1 b2 delta gv, Genv.find_var_info ge b2 = Some gv -> f b1 = Some(b2, delta) -> b2 = b1).
1797+
1798+
Lemma genv_inject_meminj_preserves_globals: forall (F V: Type) (ge: Genv.t F V) f,
1799+
Genv.inject f ge -> meminj_preserves_globals_deprecated ge f.
1800+
Proof.
1801+
intros; repeat split; eauto using Genv.find_symbol_inject, Genv.find_var_info_inject.
1802+
destruct H as [P Q].
1803+
intros. rewrite Genv.find_var_info_iff in H.
1804+
eapply Q; eauto using Genv.genv_defs_range.
1805+
Qed.
1806+
1807+
#[deprecated(since = "CompCert 3.19")]
1808+
Notation meminj_preserves_globals := meminj_preserves_globals_deprecated.

0 commit comments

Comments
 (0)