diff options
Diffstat (limited to 'bytecomp/lambda.ml')
-rw-r--r-- | bytecomp/lambda.ml | 12 |
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" |