summaryrefslogtreecommitdiffstats
path: root/bytecomp/printlambda.ml
diff options
context:
space:
mode:
authorDamien Doligez <damien.doligez-inria.fr>2007-02-09 13:31:15 +0000
committerDamien Doligez <damien.doligez-inria.fr>2007-02-09 13:31:15 +0000
commitf700284aac3f9bcafa29b40e4cedeadd6703d782 (patch)
tree463f0f8e3165cc294c17cb1677870947741a2ce6 /bytecomp/printlambda.ml
parente1757faddcd080cc6a1d71a2aebd999399c5ab17 (diff)
fusion des changements 3.09.3 -> release309_merge310
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7849 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
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")