aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXavier Leroy <xavier.leroy@inria.fr>2018-03-13 14:04:49 +0100
committerXavier Leroy <xavier.leroy@inria.fr>2018-03-13 14:04:49 +0100
commit4d7a6709946a0c30e932c00405252b42e348eb64 (patch)
treeaca0e5450b17c0c5443800c30a9e0919fde856d1
parent1c477f375f20e882b429175c737ad013ff202c0b (diff)
downloadcompcert-kvx-4d7a6709946a0c30e932c00405252b42e348eb64.tar.gz
compcert-kvx-4d7a6709946a0c30e932c00405252b42e348eb64.zip
Print size argument of Init_space as Z not as int32
Init_space has an argument of type Z and it can exceed the range of a 32-bit integer. Reported by Frédéric Besson.
-rw-r--r--backend/PrintCminor.ml2
-rw-r--r--cfrontend/PrintCsyntax.ml2
-rw-r--r--exportclight/ExportClight.ml2
3 files changed, 3 insertions, 3 deletions
diff --git a/backend/PrintCminor.ml b/backend/PrintCminor.ml
index c5418d9d..f68c1267 100644
--- a/backend/PrintCminor.ml
+++ b/backend/PrintCminor.ml
@@ -327,7 +327,7 @@ let print_init_data p = function
| Init_int64 i -> fprintf p "%LdLL" (camlint64_of_coqint i)
| Init_float32 f -> fprintf p "float32 %.15F" (camlfloat_of_coqfloat f)
| Init_float64 f -> fprintf p "%.15F" (camlfloat_of_coqfloat f)
- | Init_space i -> fprintf p "[%ld]" (camlint_of_coqint i)
+ | Init_space i -> fprintf p "[%s]" (Z.to_string i)
| Init_addrof(id,off) -> fprintf p "%ld(\"%s\")" (camlint_of_coqint off) (extern_atom id)
let rec print_init_data_list p = function
diff --git a/cfrontend/PrintCsyntax.ml b/cfrontend/PrintCsyntax.ml
index 6e016cb3..3a44796c 100644
--- a/cfrontend/PrintCsyntax.ml
+++ b/cfrontend/PrintCsyntax.ml
@@ -466,7 +466,7 @@ let print_init p = function
| Init_int64 n -> fprintf p "%LdLL" (camlint64_of_coqint n)
| Init_float32 n -> fprintf p "%.15F" (camlfloat_of_coqfloat n)
| Init_float64 n -> fprintf p "%.15F" (camlfloat_of_coqfloat n)
- | Init_space n -> fprintf p "/* skip %ld */@ " (camlint_of_coqint n)
+ | Init_space n -> fprintf p "/* skip %s */@ " (Z.to_string n)
| Init_addrof(symb, ofs) ->
let ofs = camlint_of_coqint ofs in
if ofs = 0l
diff --git a/exportclight/ExportClight.ml b/exportclight/ExportClight.ml
index 1b1402c3..1ae78c15 100644
--- a/exportclight/ExportClight.ml
+++ b/exportclight/ExportClight.ml
@@ -398,7 +398,7 @@ let init_data p = function
| Init_int64 n -> fprintf p "Init_int64 %a" coqint64 n
| Init_float32 n -> fprintf p "Init_float32 %a" coqsingle n
| Init_float64 n -> fprintf p "Init_float64 %a" coqfloat n
- | Init_space n -> fprintf p "Init_space %ld" (Z.to_int32 n)
+ | Init_space n -> fprintf p "Init_space %a" coqZ n
| Init_addrof(id,ofs) -> fprintf p "Init_addrof %a %a" ident id coqptrofs ofs
let print_variable p (id, v) =