aboutsummaryrefslogtreecommitdiff
path: root/dev
diff options
context:
space:
mode:
Diffstat (limited to 'dev')
-rwxr-xr-xdev/build/windows/makecoq_mingw.sh1
-rw-r--r--dev/ci/README-users.md20
-rwxr-xr-xdev/ci/ci-basic-overlay.sh2
-rwxr-xr-xdev/ci/ci-relation_algebra.sh (renamed from dev/ci/ci-relation-algebra.sh)0
-rw-r--r--dev/doc/MERGING.md5
-rw-r--r--dev/doc/changes.md15
-rw-r--r--dev/doc/critical-bugs12
-rw-r--r--dev/top_printers.ml1
8 files changed, 46 insertions, 10 deletions
diff --git a/dev/build/windows/makecoq_mingw.sh b/dev/build/windows/makecoq_mingw.sh
index 4c5bd29236..ea9af60330 100755
--- a/dev/build/windows/makecoq_mingw.sh
+++ b/dev/build/windows/makecoq_mingw.sh
@@ -1316,7 +1316,6 @@ function copy_coq_license {
# FIXME: this is not the micromega license
# It only applies to code that was copied into one single file!
install -D README.md "$PREFIXCOQ/license_readme/coq/ReadMe.md"
- install -D CHANGES.md "$PREFIXCOQ/license_readme/coq/Changes.md"
install -D INSTALL "$PREFIXCOQ/license_readme/coq/Install.txt"
install -D doc/README.md "$PREFIXCOQ/license_readme/coq/ReadMeDoc.md" || true
fi
diff --git a/dev/ci/README-users.md b/dev/ci/README-users.md
index 01769aeddb..06b617d4c1 100644
--- a/dev/ci/README-users.md
+++ b/dev/ci/README-users.md
@@ -45,6 +45,26 @@ using [coqbot](https://github.com/coq/bot); meanwhile, a workaround is
to give merge permissions to someone from the Coq team as to help with
these kind of merges.
+### OCaml and plugin-specific considerations
+
+Developments that link against Coq's OCaml API [most of them are known
+as "plugins"] do have some special requirements:
+
+- Coq's OCaml API is not stable. We hope to improve this in the future
+ but as of today you should expect to have to merge a fair amount of
+ "overlays", usually in the form of Pull Requests from Coq developers
+ in order to keep your plugin compatible with Coq master.
+
+ In order to alleviate the load, you can delegate the merging of such
+ compatibility pull requests to Coq developers themselves, by
+ granting access to the plugin repository or by using `bots` such as
+ [Bors](https://github.com/apps/bors) that allow for automatic
+ management of Pull Requests.
+
+- Plugins in the CI should compile with the OCaml flags that Coq
+ uses. In particular, warnings that are considered fatal by the Coq
+ developers _must_ be also fatal for plugin CI code.
+
### Add your development by submitting a pull request
Add a new `ci-mydev.sh` script to [`dev/ci`](.); set the corresponding
diff --git a/dev/ci/ci-basic-overlay.sh b/dev/ci/ci-basic-overlay.sh
index 0c89809ee9..4f5988c59c 100755
--- a/dev/ci/ci-basic-overlay.sh
+++ b/dev/ci/ci-basic-overlay.sh
@@ -254,7 +254,7 @@
: "${paramcoq_CI_ARCHIVEURL:=${paramcoq_CI_GITURL}/archive}"
########################################################################
-# relation-algebra
+# relation_algebra
########################################################################
: "${relation_algebra_CI_REF:=master}"
: "${relation_algebra_CI_GITURL:=https://github.com/damien-pous/relation-algebra}"
diff --git a/dev/ci/ci-relation-algebra.sh b/dev/ci/ci-relation_algebra.sh
index 84bed5bdfe..84bed5bdfe 100755
--- a/dev/ci/ci-relation-algebra.sh
+++ b/dev/ci/ci-relation_algebra.sh
diff --git a/dev/doc/MERGING.md b/dev/doc/MERGING.md
index 3f1b470878..c9eceb1270 100644
--- a/dev/doc/MERGING.md
+++ b/dev/doc/MERGING.md
@@ -71,8 +71,9 @@ those external projects should have been prepared (cf. the relevant sub-section
in the [CI README](../ci/README.md#Breaking-changes) and the PR can be tested
with these fixes thanks to ["overlays"](../ci/user-overlays/README.md).
-Moreover the PR must absolutely update the [`CHANGES.md`](../../CHANGES.md) or
-the [`dev/doc/changes.md`](changes.md) file.
+Moreover the PR author *must* add an entry to the [unreleased
+changelog](../../doc/changelog/README.md) or to the
+[`dev/doc/changes.md`](changes.md) file.
If overlays are missing, ask the author to prepare them and label the PR with
the [needs: overlay](https://github.com/coq/coq/labels/needs%3A%20overlay) label.
diff --git a/dev/doc/changes.md b/dev/doc/changes.md
index 40c3c32e4f..9e0d47651e 100644
--- a/dev/doc/changes.md
+++ b/dev/doc/changes.md
@@ -20,6 +20,15 @@ General deprecation
removed. Please, make sure your plugin is warning-free in 8.8 before
trying to port it over 8.9.
+Warnings
+
+- Coq now builds plugins with `-warn-error` enabled by default. The
+ amount of dangerous warnings in plugin code was very high, so we now
+ require plugins in the CI to adhere to the Coq warning policy. We
+ _strongly_ recommend against disabling the default set of warnings.
+ If you have special needs, see the documentation of your build
+ system and/or OCaml for further help.
+
Names
- Kernel names no longer contain a section path. They now have only two
@@ -194,12 +203,6 @@ Termops
- Internal printing functions have been placed under the
`Termops.Internal` namespace.
-Notations:
-
-- Notation.availability_of_notation is not anymore needed: if a
- delimiter is needed, it is provided by Notation.uninterp_notation
- which fails in case the notation is not available.
-
### Unit testing
The test suite now allows writing unit tests against OCaml code in the Coq
diff --git a/dev/doc/critical-bugs b/dev/doc/critical-bugs
index f532e1b68f..01c2b574a2 100644
--- a/dev/doc/critical-bugs
+++ b/dev/doc/critical-bugs
@@ -195,6 +195,18 @@ Conversion machines
GH issue number: ?
risk:
+ component: "virtual machine" (compilation to bytecode ran by a C-interpreter)
+ summary: primitive integer emulation layer on 32 bits not robust to garbage collection
+ introduced: master (before v8.10 in GH pull request #6914)
+ impacted released versions: none
+ impacted development branches:
+ impacted coqchk versions: none (no virtual machine in coqchk)
+ fixed in:
+ found by: Roux, Melquiond
+ exploit:
+ GH issue number: #9925
+ risk:
+
component: "native" conversion machine (translation to OCaml which compiles to native code)
summary: translation of identifier from Coq to OCaml was not bijective, leading to identify True and False
introduced: V8.5
diff --git a/dev/top_printers.ml b/dev/top_printers.ml
index 74be300134..816316487c 100644
--- a/dev/top_printers.ml
+++ b/dev/top_printers.ml
@@ -65,6 +65,7 @@ let get_current_context () =
with Vernacstate.Proof_global.NoCurrentProof ->
let env = Global.env() in
Evd.from_env env, env
+ [@@ocaml.warning "-3"]
(* term printers *)
let envpp pp = let sigma,env = get_current_context () in pp env sigma