diff options
author | Bernhard Schommer <bernhardschommer@gmail.com> | 2015-04-04 11:51:22 +0200 |
---|---|---|
committer | Bernhard Schommer <bernhardschommer@gmail.com> | 2015-04-04 11:51:22 +0200 |
commit | 0ae69bc62cbe50e1fb426c4816aef689c359c75a (patch) | |
tree | cc05bd32da40c373f95b23a36162f31d1c2d19c8 | |
parent | 170284b51766112e29d6bbfe519bad9f6da95269 (diff) | |
parent | 428e71dc00798d49244088ba4a0c46ee11c79c61 (diff) | |
download | compcert-0ae69bc62cbe50e1fb426c4816aef689c359c75a.tar.gz compcert-0ae69bc62cbe50e1fb426c4816aef689c359c75a.zip |
Merge branch 'master' into dwarf
-rw-r--r-- | README.md | 27 | ||||
-rw-r--r-- | arm/Asmgenproof1.v | 6 | ||||
-rw-r--r-- | arm/Op.v | 2 |
3 files changed, 23 insertions, 12 deletions
@@ -11,19 +11,28 @@ 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. -CompCert is an ongoing research project. The present release is an -advanced prototype intended for research, educational and evaluation -purposes. - For more information on CompCert (supported platforms, supported C features, installation instructions, using the compiler, etc), please -refer to the [user's manual](http://compcert.inria.fr/man/). +refer to the [Web site](http://compcert.inria.fr/) and especially +the [user's manual](http://compcert.inria.fr/man/). + +## 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](http://www.absint.com). See the file `LICENSE` for more +information. ## Copyright The CompCert verified compiler is Copyright 2004, 2005, 2006, 2007, -2008, 2009, 2010, 2011, 2012, 2013, 2014 Institut National de Recherche en -Informatique et en Automatique (INRIA). It is distributed under the -conditions stated in file `LICENSE`. +2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Institut National de +Recherche en Informatique et en Automatique (INRIA). ## Contact -The authors can be contacted by e-mail at compcert@yquem.inria.fr. +General discussions on CompCert take place on the +[compcert-users@inria.fr](https://sympa.inria.fr/sympa/info/compcert-users) +mailing list. + +For inquiries on the commercial version of CompCert, please contact +info@absint.com diff --git a/arm/Asmgenproof1.v b/arm/Asmgenproof1.v index c859434b..f0a698eb 100644 --- a/arm/Asmgenproof1.v +++ b/arm/Asmgenproof1.v @@ -730,12 +730,14 @@ Proof. rewrite (int_ltu_not i i0). destruct (Int.ltu i i0); destruct (Int.eq i i0); reflexivity. destruct (Int.ltu i i0); reflexivity. (* int ptr *) - destruct (Int.eq i Int.zero) eqn:?; try discriminate. + destruct (Int.eq i Int.zero && + (Mem.valid_pointer m b0 (Int.unsigned i0) || Mem.valid_pointer m b0 (Int.unsigned i0 - 1))) eqn:?; try discriminate. destruct c; simpl in *; inv H1. rewrite Heqb1; reflexivity. rewrite Heqb1; reflexivity. (* ptr int *) - destruct (Int.eq i0 Int.zero) eqn:?; try discriminate. + destruct (Int.eq i0 Int.zero && + (Mem.valid_pointer m b0 (Int.unsigned i) || Mem.valid_pointer m b0 (Int.unsigned i - 1))) eqn:?; try discriminate. destruct c; simpl in *; inv H1. rewrite Heqb1; reflexivity. rewrite Heqb1; reflexivity. @@ -707,7 +707,7 @@ Definition is_trivial_op (op: operation) : bool := Definition op_depends_on_memory (op: operation) : bool := match op with - | Ocmp (Ccompu _ | Ccompushift _ _) => true + | Ocmp (Ccompu _ | Ccompushift _ _| Ccompuimm _ _) => true | _ => false end. |