summaryrefslogtreecommitdiffstats
path: root/bytecomp/printlambda.ml
diff options
context:
space:
mode:
authorXavier Leroy <xavier.leroy@inria.fr>2000-03-05 19:17:54 +0000
committerXavier Leroy <xavier.leroy@inria.fr>2000-03-05 19:17:54 +0000
commit96cb7c30af3beeaeab1a7999458740508a964ba3 (patch)
treed3cabd4896a710774060e3ec8167c0a0995d367e /bytecomp/printlambda.ml
parentfe55dbbdab706f55f4a33f70c880ef1d77555d25 (diff)
Ajout des conversions int <-> int32 <-> int64
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2901 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'bytecomp/printlambda.ml')
-rw-r--r--bytecomp/printlambda.ml14
1 files changed, 10 insertions, 4 deletions
diff --git a/bytecomp/printlambda.ml b/bytecomp/printlambda.ml
index bb69d239b..78ded6184 100644
--- a/bytecomp/printlambda.ml
+++ b/bytecomp/printlambda.ml
@@ -43,11 +43,16 @@ let rec struct_const ppf = function
let print_id ppf id = Ident.print id
+let boxed_integer_name = function
+ Pnativeint -> "nativeint"
+ | Pint32 -> "int32"
+ | Pint64 -> "int64"
+
let print_boxed_integer name bi =
- match bi with
- Pnativeint -> printf "Nativeint.%s" name
- | Pint32 -> printf "Int32.%s" name
- | Pint64 -> printf "Int64.%s" name
+ printf "%s_%s" (boxed_integer_name bi) name
+
+let print_boxed_integer_conversion bi1 bi2 =
+ printf "%s_of_%s" (boxed_integer_name bi2) (boxed_integer_name bi1)
let print_bigarray name kind layout =
printf "Bigarray.%s[%s,%s]"
@@ -136,6 +141,7 @@ let primitive ppf = function
| Pbittest -> print_string "testbit"
| Pbintofint bi -> print_boxed_integer "of_int" bi
| Pintofbint bi -> print_boxed_integer "to_int" bi
+ | Pcvtbint(bi1, bi2) -> print_boxed_integer_conversion bi1 bi2
| Pnegbint bi -> print_boxed_integer "neg" bi
| Paddbint bi -> print_boxed_integer "add" bi
| Psubbint bi -> print_boxed_integer "sub" bi