aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorEmilio Jesus Gallego Arias2020-07-16 15:26:59 +0200
committerEmilio Jesus Gallego Arias2020-07-16 15:26:59 +0200
commitf54bc666c62ad9a66067cb486816cdfc68c2946d (patch)
tree3e6b02e8874778411765c161384b2bf6dc25b12c /lib
parent3eccf67b2e4aed36fc6935900167b19bcf6dffde (diff)
parente52f070515833634f7a52e3440be02229e71d4fb (diff)
Merge PR #12677: Fix #12513: coq no longer reports mismatched version numbers.
Reviewed-by: ejgallego Reviewed-by: gares
Diffstat (limited to 'lib')
-rw-r--r--lib/objFile.ml2
-rw-r--r--lib/system.ml7
2 files changed, 6 insertions, 3 deletions
diff --git a/lib/objFile.ml b/lib/objFile.ml
index 96db51a010..26367aaffa 100644
--- a/lib/objFile.ml
+++ b/lib/objFile.ml
@@ -182,7 +182,7 @@ let open_in ~file =
let version = input_int32 ch in
let () =
if not (Int32.equal magic magic_number) then
- let e = { filename = file; actual = version; expected = magic_number } in
+ let e = { filename = file; actual = magic; expected = magic_number } in
raise (Bad_magic_number e)
in
let () =
diff --git a/lib/system.ml b/lib/system.ml
index e25f758865..1aadaf6d3a 100644
--- a/lib/system.ml
+++ b/lib/system.ml
@@ -239,9 +239,12 @@ let intern_state magic filename =
let with_magic_number_check f a =
try f a
with
- | Bad_magic_number {filename=fname; _} ->
+ | Bad_magic_number {filename=fname; actual; expected} ->
CErrors.user_err ~hdr:"with_magic_number_check"
- (str"File " ++ str fname ++ strbrk" is corrupted.")
+ (str"File " ++ str fname ++ strbrk" has bad magic number " ++
+ (str @@ Int32.to_string actual) ++ str" (expected " ++ (str @@ Int32.to_string expected) ++ str")." ++
+ spc () ++
+ strbrk "It is corrupted or was compiled with another version of Coq.")
| Bad_version_number {filename=fname;actual=actual;expected=expected} ->
CErrors.user_err ~hdr:"with_magic_number_check"
(str"File " ++ str fname ++ strbrk" has bad version number " ++