aboutsummaryrefslogtreecommitdiffstats
path: root/common/Determinism.v
diff options
context:
space:
mode:
authorXavier Leroy <xavier.leroy@inria.fr>2015-01-23 09:33:59 +0100
committerXavier Leroy <xavier.leroy@inria.fr>2015-01-23 09:33:59 +0100
commitd594c5da5e11fb10775c2b772961b8a2383887c7 (patch)
tree750ed5d4a0829519a258f3c12f7d518e53504487 /common/Determinism.v
parent1e97bb4f6297b6fa7949684e522a592aab754d99 (diff)
parent2dd864217cc864d44e828a4d14dd45668e4ab095 (diff)
downloadcompcert-kvx-d594c5da5e11fb10775c2b772961b8a2383887c7.tar.gz
compcert-kvx-d594c5da5e11fb10775c2b772961b8a2383887c7.zip
Merge branch 'named-structs'
- Switch CompCert C / Clight AST of composite types (structs and unions) from a structural representation to a nominal representation, closer to concrete syntax. - This avoids algorithmic inefficiencies due to the structural representation. - Closes PR#4. - Smallstep: make small-step semantics more polymorphic in the type of the global environment. - Globalenvs: introduce Senv.t (symbol environments) as a restricted view on Genv.t (full global environments). - Events, Smallstep: use Senv instead of Genv to talk about global names.
Diffstat (limited to 'common/Determinism.v')
-rw-r--r--common/Determinism.v10
1 files changed, 5 insertions, 5 deletions
diff --git a/common/Determinism.v b/common/Determinism.v
index 26a13ab2..d0099ba9 100644
--- a/common/Determinism.v
+++ b/common/Determinism.v
@@ -105,7 +105,7 @@ Proof.
Qed.
Lemma match_possible_traces:
- forall (F V: Type) (ge: Genv.t F V) t1 t2 w0 w1 w2,
+ forall ge t1 t2 w0 w1 w2,
match_traces ge t1 t2 -> possible_trace w0 t1 w1 -> possible_trace w0 t2 w2 ->
t1 = t2 /\ w1 = w2.
Proof.
@@ -508,14 +508,14 @@ Notation "s #1" := (fst s) (at level 9, format "s '#1'") : pair_scope.
Notation "s #2" := (snd s) (at level 9, format "s '#2'") : pair_scope.
Local Open Scope pair_scope.
-Definition world_sem : semantics := @Semantics
+Definition world_sem : semantics := @Semantics_gen
(state L * world)%type
- (funtype L)
- (vartype L)
+ (genvtype L)
(fun ge s t s' => step L ge s#1 t s'#1 /\ possible_trace s#2 t s'#2)
(fun s => initial_state L s#1 /\ s#2 = initial_world)
(fun s r => final_state L s#1 r)
- (globalenv L).
+ (globalenv L)
+ (symbolenv L).
(** If the original semantics is determinate, the world-aware semantics is deterministic. *)