aboutsummaryrefslogtreecommitdiffhomepage
path: root/kernel/cbytegen.mli
diff options
context:
space:
mode:
authorGravatar Matthieu Sozeau <mattam@mattam.org>2015-03-25 19:06:16 +0100
committerGravatar Matthieu Sozeau <mattam@mattam.org>2015-03-25 19:11:45 +0100
commit1bafb18f64ab1c929abfaf9c1b75f691914d9a46 (patch)
treef62b8ec2d334d23f7214ec4805f05f748f04e0aa /kernel/cbytegen.mli
parent5047734648d83890eb4fc4e5cff7ab77d46b48eb (diff)
Fix vm compiler to refuse to compile code making use of inductives with
more than 245 constructors (unsupported by OCaml's runtime).
Diffstat (limited to 'kernel/cbytegen.mli')
-rw-r--r--kernel/cbytegen.mli8
1 files changed, 5 insertions, 3 deletions
diff --git a/kernel/cbytegen.mli b/kernel/cbytegen.mli
index 8fb6601a9..1128f0d0b 100644
--- a/kernel/cbytegen.mli
+++ b/kernel/cbytegen.mli
@@ -5,10 +5,12 @@ open Declarations
open Pre_env
-val compile : env -> constr -> bytecodes * bytecodes * fv
- (** init, fun, fv *)
+val compile : bool -> (* Fail on error with a nice user message, otherwise simply a warning *)
+ env -> constr -> (bytecodes * bytecodes * fv) option
+(** init, fun, fv *)
-val compile_constant_body : env -> constant_def -> body_code
+val compile_constant_body : bool ->
+ env -> constant_def -> body_code option
(** Shortcut of the previous function used during module strengthening *)