diff options
author | Xavier Leroy <xavierleroy@users.noreply.github.com> | 2016-03-20 18:00:43 +0100 |
---|---|---|
committer | Xavier Leroy <xavierleroy@users.noreply.github.com> | 2016-03-20 18:00:43 +0100 |
commit | 1fdca8371317e656cb08eaec3adb4596d6447e9b (patch) | |
tree | 8a5d390a4d38f4d840f516fb917eb824311a93a0 /extraction/extraction.v | |
parent | 1396a4051caef0957ede026f3b8fab5a9b10b6bc (diff) | |
parent | 478ae4c3aeb1a31b0eec9ab7eb8fe20ec2671614 (diff) | |
download | compcert-1fdca8371317e656cb08eaec3adb4596d6447e9b.tar.gz compcert-1fdca8371317e656cb08eaec3adb4596d6447e9b.zip |
Merge pull request #93 from AbsInt/separate-compilation
This pull request implements "approach A" to separate compilation in CompCert from the paper
Lightweight verification of separate compilation
by Jeehoon Kang, Yoonseung Kim, Chung-Kil Hur, Derek Dreyer, Viktor Vafeiadis,
POPL 2016, pages 178-190
In a nutshell, semantic preservation is still stated and proved in terms of a whole C program and a whole assembly program. However, the whole C program can be the result of syntactic linking of several C compilation units, each unit being separated compiled by CompCert to produce assembly unit, and these assembly units being linked together to produce the whole assembly program.
This way, the statement of semantic preservation and its proof now take into account the fact that each compilation unit is compiled separately, knowing only a fragment of the whole program (i.e. the current compilation unit) rather than the whole program.
Diffstat (limited to 'extraction/extraction.v')
-rw-r--r-- | extraction/extraction.v | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/extraction/extraction.v b/extraction/extraction.v index 0f0a8637..22a69c49 100644 --- a/extraction/extraction.v +++ b/extraction/extraction.v @@ -158,11 +158,10 @@ Separate Extraction Csyntax.Eindex Csyntax.Epreincr Ctyping.typecheck_program Ctyping.epostincr Ctyping.epostdecr Ctyping.epreincr Ctyping.epredecr - Clight.make_program + Ctypes.make_program Conventions1.dummy_int_reg Conventions1.dummy_float_reg RTL.instr_defs RTL.instr_uses Machregs.mregs_for_operation Machregs.mregs_for_builtin Machregs.two_address_op Machregs.is_stack_reg AST.signature_main - AST.transform_partial_ident_program Parser.translation_unit_file. |