aboutsummaryrefslogtreecommitdiffstats
path: root/caml/Cil2Csyntax.ml
diff options
context:
space:
mode:
authorxleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2008-04-16 14:03:47 +0000
committerxleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2008-04-16 14:03:47 +0000
commit3a34c43569ae9fdd3b170f26cba628d3aae5e336 (patch)
tree7b54ea317ffb2a53f6437da829698dbc022d5863 /caml/Cil2Csyntax.ml
parentc460156b067b439738104f3947287adbbef926a5 (diff)
downloadcompcert-3a34c43569ae9fdd3b170f26cba628d3aae5e336.tar.gz
compcert-3a34c43569ae9fdd3b170f26cba628d3aae5e336.zip
Camlcoq.ml: interpret Caml's int32 as unsigned when converting to Integers.int
Cil2Csyntax.ml: terminating NUL character in strings within initialized data git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@615 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
Diffstat (limited to 'caml/Cil2Csyntax.ml')
-rw-r--r--caml/Cil2Csyntax.ml9
1 files changed, 5 insertions, 4 deletions
diff --git a/caml/Cil2Csyntax.ml b/caml/Cil2Csyntax.ml
index 554715fc..17bcb262 100644
--- a/caml/Cil2Csyntax.ml
+++ b/caml/Cil2Csyntax.ml
@@ -806,10 +806,11 @@ let rec extract_constant e =
let init_data_of_string s =
let id = ref CList.Coq_nil in
- for i = String.length s - 1 downto 0 do
- let n = coqint_of_camlint(Int32.of_int(Char.code s.[i])) in
- id := CList.Coq_cons(Init_int8 n, !id)
- done;
+ let enter_char c =
+ let n = coqint_of_camlint(Int32.of_int(Char.code c)) in
+ id := CList.Coq_cons(Init_int8 n, !id) in
+ enter_char '\000';
+ for i = String.length s - 1 downto 0 do enter_char s.[i] done;
!id
let convertInit init =