aboutsummaryrefslogtreecommitdiffstats
path: root/arm/Asmgenproof1.v
diff options
context:
space:
mode:
authorBernhard Schommer <bernhardschommer@gmail.com>2015-04-04 11:51:22 +0200
committerBernhard Schommer <bernhardschommer@gmail.com>2015-04-04 11:51:22 +0200
commit0ae69bc62cbe50e1fb426c4816aef689c359c75a (patch)
treecc05bd32da40c373f95b23a36162f31d1c2d19c8 /arm/Asmgenproof1.v
parent170284b51766112e29d6bbfe519bad9f6da95269 (diff)
parent428e71dc00798d49244088ba4a0c46ee11c79c61 (diff)
downloadcompcert-0ae69bc62cbe50e1fb426c4816aef689c359c75a.tar.gz
compcert-0ae69bc62cbe50e1fb426c4816aef689c359c75a.zip
Merge branch 'master' into dwarf
Diffstat (limited to 'arm/Asmgenproof1.v')
-rw-r--r--arm/Asmgenproof1.v6
1 files changed, 4 insertions, 2 deletions
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.