summaryrefslogtreecommitdiffstats
path: root/bytecomp/lambda.ml
diff options
context:
space:
mode:
Diffstat (limited to 'bytecomp/lambda.ml')
-rw-r--r--bytecomp/lambda.ml12
1 files changed, 11 insertions, 1 deletions
diff --git a/bytecomp/lambda.ml b/bytecomp/lambda.ml
index 1b6b805d0..aa56c31fa 100644
--- a/bytecomp/lambda.ml
+++ b/bytecomp/lambda.ml
@@ -41,7 +41,7 @@ type primitive =
(* External call *)
| Pccall of Primitive.description
(* Exceptions *)
- | Praise
+ | Praise of raise_kind
(* Boolean operations *)
| Psequand | Psequor | Pnot
(* Integer operations *)
@@ -137,6 +137,11 @@ and bigarray_layout =
| Pbigarray_c_layout
| Pbigarray_fortran_layout
+and raise_kind =
+ | Raise_regular
+ | Raise_reraise
+ | Raise_notrace
+
type structured_constant =
Const_base of constant
| Const_pointer of int
@@ -457,3 +462,8 @@ and negate_comparison = function
| Ceq -> Cneq| Cneq -> Ceq
| Clt -> Cge | Cle -> Cgt
| Cgt -> Cle | Cge -> Clt
+
+let raise_kind = function
+ | Raise_regular -> "raise"
+ | Raise_reraise -> "reraise"
+ | Raise_notrace -> "raise_notrace"