aboutsummaryrefslogtreecommitdiffstats
path: root/cfrontend/SimplExpr.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 /cfrontend/SimplExpr.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 'cfrontend/SimplExpr.v')
-rw-r--r--cfrontend/SimplExpr.v9
1 files changed, 7 insertions, 2 deletions
diff --git a/cfrontend/SimplExpr.v b/cfrontend/SimplExpr.v
index 089797f2..36fe07ae 100644
--- a/cfrontend/SimplExpr.v
+++ b/cfrontend/SimplExpr.v
@@ -540,5 +540,10 @@ Fixpoint transl_globdefs
end.
Definition transl_program (p: Csyntax.program) : res program :=
- do gl' <- transl_globdefs p.(prog_defs) (initial_generator tt);
- OK (mkprogram gl' p.(prog_public) p.(prog_main)).
+ do gl' <- transl_globdefs (Csyntax.prog_defs p) (initial_generator tt);
+ OK {| prog_defs := gl';
+ prog_public := Csyntax.prog_public p;
+ prog_main := Csyntax.prog_main p;
+ prog_types := Csyntax.prog_types p;
+ prog_comp_env := Csyntax.prog_comp_env p;
+ prog_comp_env_eq := Csyntax.prog_comp_env_eq p |}.