diff options
| author | Pierre-Marie Pédrot | 2021-01-19 13:45:27 +0100 |
|---|---|---|
| committer | Pierre-Marie Pédrot | 2021-01-19 13:45:27 +0100 |
| commit | 071c50e9c2755e93766e5fb047b0a9065934e8fe (patch) | |
| tree | 1c702aafeebc10843c76ba992658000d9b6e864e /kernel | |
| parent | a85d8cb68f53667d13ae0b5210b5e3dcc3fd8aa4 (diff) | |
| parent | 7df37822980666c51109205dca8df99f3b81c4fb (diff) | |
Merge PR #13699: Fix #13579 (hnf on primitives raises an anomaly)
Ack-by: SkySkimmer
Reviewed-by: ppedrot
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/environ.ml | 6 | ||||
| -rw-r--r-- | kernel/environ.mli | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/kernel/environ.ml b/kernel/environ.ml index 6f2aeab203..63fbaa6a3b 100644 --- a/kernel/environ.ml +++ b/kernel/environ.ml @@ -571,6 +571,12 @@ let is_primitive env c = | Declarations.Primitive _ -> true | _ -> false +let get_primitive env c = + let cb = lookup_constant c env in + match cb.Declarations.const_body with + | Declarations.Primitive p -> Some p + | _ -> None + let is_int63_type env c = match env.retroknowledge.Retroknowledge.retro_int63 with | None -> false diff --git a/kernel/environ.mli b/kernel/environ.mli index dfd9173d10..414ef2b4d7 100644 --- a/kernel/environ.mli +++ b/kernel/environ.mli @@ -248,6 +248,7 @@ val constant_type_in : env -> Constant.t puniverses -> types val constant_opt_value_in : env -> Constant.t puniverses -> constr option val is_primitive : env -> Constant.t -> bool +val get_primitive : env -> Constant.t -> CPrimitives.t option val is_array_type : env -> Constant.t -> bool val is_int63_type : env -> Constant.t -> bool |
