summaryrefslogtreecommitdiffstats
path: root/bytecomp/printlambda.ml
diff options
context:
space:
mode:
Diffstat (limited to 'bytecomp/printlambda.ml')
-rw-r--r--bytecomp/printlambda.ml9
1 files changed, 8 insertions, 1 deletions
diff --git a/bytecomp/printlambda.ml b/bytecomp/printlambda.ml
index 27c0ff3d5..3f42f7e1e 100644
--- a/bytecomp/printlambda.ml
+++ b/bytecomp/printlambda.ml
@@ -83,6 +83,12 @@ let print_bigarray name kind ppf layout =
| Pbigarray_c_layout -> "C"
| Pbigarray_fortran_layout -> "Fortran")
+let record_rep ppf r =
+ match r with
+ | Record_regular -> fprintf ppf "regular"
+ | Record_float -> fprintf ppf "float"
+;;
+
let primitive ppf = function
| Pidentity -> fprintf ppf "id"
| Pignore -> fprintf ppf "ignore"
@@ -96,6 +102,7 @@ let primitive ppf = function
fprintf ppf "%s%i" instr n
| Pfloatfield n -> fprintf ppf "floatfield %i" n
| Psetfloatfield n -> fprintf ppf "setfloatfield %i" n
+ | Pduprecord (rep, size) -> fprintf ppf "duprecord %a %i" record_rep rep size
| Pccall p -> fprintf ppf "%s" p.prim_name
| Praise -> fprintf ppf "raise"
| Psequand -> fprintf ppf "&&"
@@ -239,7 +246,7 @@ let rec lam ppf = function
if !spc then fprintf ppf "@ " else spc := true;
fprintf ppf "@[<hv 1>default:@ %a@]" lam l
end in
-
+
fprintf ppf
"@[<1>(%s %a@ @[<v 0>%a@])@]"
(match sw.sw_failaction with None -> "switch*" | _ -> "switch")