diff options
author | Xavier Leroy <xavier.leroy@inria.fr> | 2018-03-13 14:04:49 +0100 |
---|---|---|
committer | Xavier Leroy <xavier.leroy@inria.fr> | 2018-03-13 14:04:49 +0100 |
commit | 4d7a6709946a0c30e932c00405252b42e348eb64 (patch) | |
tree | aca0e5450b17c0c5443800c30a9e0919fde856d1 | |
parent | 1c477f375f20e882b429175c737ad013ff202c0b (diff) | |
download | compcert-4d7a6709946a0c30e932c00405252b42e348eb64.tar.gz compcert-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.ml | 2 | ||||
-rw-r--r-- | cfrontend/PrintCsyntax.ml | 2 | ||||
-rw-r--r-- | exportclight/ExportClight.ml | 2 |
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) = |