From 92a20eb0b77db1f736410bbe1afea1898d60f3a8 Mon Sep 17 00:00:00 2001
From: Ralf Jung <jung@mpi-sws.org>
Date: Wed, 27 Sep 2017 17:57:12 +0200
Subject: [PATCH] update build system; support Coq 8.7

---
 .gitlab-ci.yml     | 12 +++++++++---
 awk.Makefile       | 11 +++++------
 opam               |  2 +-
 theories/peritem.v |  2 +-
 4 files changed, 16 insertions(+), 11 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 5d24a4f..3fad1c8 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -13,7 +13,7 @@ variables:
   # build
   - 'time make -k -j$CPU_CORES TIMED=y 2>&1 | tee build-log.txt'
   - 'if fgrep Axiom build-log.txt >/dev/null; then exit 1; fi'
-  - 'cat build-log.txt | egrep "[a-zA-Z0-9_/-]+ \(user: [0-9]" | tee build-time.txt'
+  - 'cat build-log.txt | egrep "[a-zA-Z0-9_/-]+ \((real|user): [0-9]" | tee build-time.txt'
   - 'if test -n "$VALIDATE" && (( RANDOM % 10 == 0 )); then make validate; fi'
   cache:
     key: "coq.$COQ_VERSION-ssr.$SSR_VERSION"
@@ -23,12 +23,18 @@ variables:
   - master
   - /^ci/
 
-iratomic-coq8.6.1:
+build-coq8.7:
+  <<: *template
+  variables:
+    COQ_VERSION: "8.7.dev"
+    SSR_VERSION: "dev"
+
+build-coq8.6.1:
   <<: *template
   variables:
     COQ_VERSION: "8.6.1"
     SSR_VERSION: "1.6.1"
-    VALIDATE: 1
+    VALIDATE: "1"
   artifacts:
     paths:
     - build-time.txt
diff --git a/awk.Makefile b/awk.Makefile
index 74f7d57..91f7d73 100644
--- a/awk.Makefile
+++ b/awk.Makefile
@@ -19,17 +19,16 @@
 	next
 }
 
-# Patch vio2vo to (a) run "make quick" with the same number of jobs, ensuring
+# Add new target quick2vo to (a) run "make quick" with the same number of jobs, ensuring
 # that the .vio files are up-to-date, and (b) only schedule vio2vo for those
 # files where the .vo is *older* than the .vio.
 /^vio2vo:/ {
-	print "vio2vo:";
+	print "quick2vo:";
 	print "\t@make -j $(J) quick"
-	print "\t@VIOFILES=$$(for file in $(VOFILES:%.vo=%.vio); do vofile=\"$$(echo \"$$file\" | sed \"s/\\.vio/.vo/\")\"; if [ \"$$vofile\" -ot \"$$file\" -o ! -e \"$$vofile\" ]; then echo -n \"$$file \"; fi; done); \\"
+	print "\t@VIOFILES=$$(for vofile in $(VOFILES); do viofile=\"$$(echo \"$$vofile\" | sed \"s/\\.vo/.vio/\")\"; if [ \"$$vofile\" -ot \"$$viofile\" -o ! -e \"$$vofile\" ]; then echo -n \"$$viofile \"; fi; done); \\"
 	print "\t echo \"VIO2VO: $$VIOFILES\"; \\"
-	print "\t if [ -n \"$$VIOFILES\" ]; then $(COQC) $(COQDEBUG) $(COQFLAGS) -schedule-vio2vo $(J) $$VIOFILES; fi"
-	getline;
-	next
+	print "\t if [ -n \"$$VIOFILES\" ]; then $(TIMER) $(COQC) $(COQDEBUG) $(COQFLAGS) -schedule-vio2vo $(J) $$VIOFILES; fi"
+	print ".PHONY: quick2vo"
 }
 
 # This forwards all unchanged lines
diff --git a/opam b/opam
index c59c276..8eaf93f 100644
--- a/opam
+++ b/opam
@@ -9,5 +9,5 @@ build: [make "-j%{jobs}%"]
 install: [make "install"]
 remove: [ "sh" "-c" "rm -rf '%{lib}%/coq/user-contrib/iris_atomic" ]
 depends: [
-  "coq-iris" { (= "dev.2017-09-21.3") | (= "dev") }
+  "coq-iris" { (= "dev.2017-09-27.1") | (= "dev") }
 ]
diff --git a/theories/peritem.v b/theories/peritem.v
index 156600d..0f8674a 100644
--- a/theories/peritem.v
+++ b/theories/peritem.v
@@ -47,7 +47,7 @@ Section proofs.
   Lemma new_bag_spec:
     {{{ True }}} new_stack #() {{{ s, RET #s; bag_inv s }}}.
   Proof.
-    iIntros (Φ) "HΦ". iApply wp_fupd.
+    iIntros (Φ) "_ HΦ". iApply wp_fupd.
     wp_seq. wp_bind (ref NONE)%E. wp_alloc l as "Hl".
     wp_alloc s as "Hs".
     iAssert ((∃ xs, is_bag_R N R xs s))%I with "[-HΦ]" as "Hxs".
-- 
GitLab