The CompCert formally-verified C compiler
Coq C OCaml Assembly C++ Makefile Other
Clone or download
Latest commit 3939a1c Jul 19, 2018
Permalink
Failed to load latest commit information.
arm Model external calls as destroying all caller-save registers Jun 1, 2018
backend Treat Outgoing stack slots as caller-save in LTL/Linear semantics (#237) Jun 17, 2018
cfrontend Compatibility with OCaml 4.07 (#241) continued Jul 10, 2018
common Resynchronize the LICENSE file and the license headers in individual … Jan 5, 2018
cparser Update cparser/GNUmakefile to be compatible with BSD's cut utility. C… Jul 19, 2018
debug Reverted reintroduced quote of compilation dir. Sep 19, 2017
doc Typo in Ctyping entry Jun 17, 2018
driver Typo in -iquote preprocessing option (#239) Jun 20, 2018
exportclight clightgen: add info on configuration and platform to generated .v fil… Jun 20, 2018
extraction Resynchronize the LICENSE file and the license headers in individual … Jan 5, 2018
flocq Upgrade Flocq to version 2.6.1 from upstream (#71) Apr 25, 2018
lib Compatibility with OCaml 4.07 (#241) Jul 10, 2018
powerpc Model external calls as destroying all caller-save registers Jun 1, 2018
riscV Compatibility with OCaml 4.07 (#241) continued Jul 12, 2018
runtime Define the C11 type max_align_t (#115) May 24, 2018
test Clean .foo.aux files created by coqc Jul 10, 2018
tools Extend the modorder tool to handle Coq files as well (#54) Feb 8, 2018
x86 Fix expansion of ctzl/clzl builtin for 64bit targets (#127) Jul 12, 2018
x86_32 Hybrid 64bit/32bit PowerPC port May 3, 2017
x86_64 Hybrid 64bit/32bit PowerPC port May 3, 2017
.gitignore Ignore *.v files generated by tests Jun 7, 2018
Changelog Changelog: minor updates for 3.3 May 30, 2018
LICENSE Resynchronize the LICENSE file and the license headers in individual … Jan 5, 2018
Makefile Ensure compatibility with Menhir before and after version 20180530 Jun 6, 2018
Makefile.extr Removed CMinor import. Bug 20992 Feb 14, 2017
Makefile.menhir Resynchronize the LICENSE file and the license headers in individual … Jan 5, 2018
README.md Mention the RISC-V port as well Jan 13, 2018
VERSION Updates for public release 3.3 May 30, 2018
configure Support Coq 8.8.1 (#242) Jul 10, 2018
coq ia32/Select*: complete the modifications to shifts. Apr 11, 2014
pg ia32/Select*: complete the modifications to shifts. Apr 11, 2014

README.md

CompCert

The verified C compiler.

Overview

The CompCert C verified compiler is a compiler for a large subset of the C programming language that generates code for the PowerPC, ARM, x86 and RISC-V processors.

The distinguishing feature of CompCert is that it has been formally verified using the Coq proof assistant: the generated assembly code is formally guaranteed to behave as prescribed by the semantics of the source C code.

For more information on CompCert (supported platforms, supported C features, installation instructions, using the compiler, etc), please refer to the Web site and especially the user's manual.

License

CompCert is not free software. This non-commercial release can only be used for evaluation, research, educational and personal purposes. A commercial version of CompCert, without this restriction and with professional support, can be purchased from AbsInt. See the file LICENSE for more information.

Copyright

The CompCert verified compiler is Copyright Institut National de Recherche en Informatique et en Automatique (INRIA) and AbsInt Angewandte Informatik GmbH.

Contact

General discussions on CompCert take place on the compcert-users@inria.fr mailing list.

For inquiries on the commercial version of CompCert, please contact info@absint.com