aboutsummaryrefslogtreecommitdiffhomepage
path: root/kernel/vconv.ml
diff options
context:
space:
mode:
authorGravatar Benjamin Gregoire <Benjamin.Gregoire@inria.fr>2015-03-27 06:44:02 +0100
committerGravatar Benjamin Gregoire <Benjamin.Gregoire@inria.fr>2015-03-27 06:46:08 +0100
commit924a6e99f85aa0d70d42e753d6901b067ebf8f1d (patch)
treebc6d71b35edbd645394aa441722f7a2a14741ec5 /kernel/vconv.ml
parent00894adf6fc11f4336a3ece0c347676bbf0b4c11 (diff)
use a more compact representation of non-constant constructors
for which there corresponding tag are greater than max_variant_tag. The code is a merge with the patch proposed by Bruno on github barras/coq commit/504c753d7bb104ff4453fa0ede21c870ae2bb00c
Diffstat (limited to 'kernel/vconv.ml')
-rw-r--r--kernel/vconv.ml3
1 files changed, 2 insertions, 1 deletions
diff --git a/kernel/vconv.ml b/kernel/vconv.ml
index 6044e1846..1c31cc041 100644
--- a/kernel/vconv.ml
+++ b/kernel/vconv.ml
@@ -63,7 +63,8 @@ and conv_whd env pb k whd1 whd2 cu =
else conv_arguments env k args1 args2 (conv_cofix env k cf1 cf2 cu)
| Vconstr_const i1, Vconstr_const i2 ->
if Int.equal i1 i2 then cu else raise NotConvertible
- | Vconstr_block (tag1, b1), Vconstr_block (tag2, b2) ->
+ | Vconstr_block b1, Vconstr_block b2 ->
+ let tag1 = btag b1 and tag2 = btag b2 in
let sz = bsize b1 in
if Int.equal tag1 tag2 && Int.equal sz (bsize b2) then
let rcu = ref cu in