aboutsummaryrefslogtreecommitdiffstats
path: root/cparser/Rename.ml
diff options
context:
space:
mode:
authorBernhard Schommer <bernhardschommer@gmail.com>2015-07-15 18:53:39 +0200
committerBernhard Schommer <bernhardschommer@gmail.com>2015-07-15 20:12:12 +0200
commit7fb3cf8821f0fbb89cab74425c6c84f85e913b08 (patch)
tree63bdc81bfb830adb30595e8508e51627f852dae2 /cparser/Rename.ml
parent03bb30293f9ea5ad6c31557bf2d8d3908b956397 (diff)
downloadcompcert-kvx-7fb3cf8821f0fbb89cab74425c6c84f85e913b08.tar.gz
compcert-kvx-7fb3cf8821f0fbb89cab74425c6c84f85e913b08.zip
Remove non digit and non letter chars from filename used in renaming of static variables to avoid problems with files such as "a b.c".
Diffstat (limited to 'cparser/Rename.ml')
-rw-r--r--cparser/Rename.ml1
1 files changed, 1 insertions, 0 deletions
diff --git a/cparser/Rename.ml b/cparser/Rename.ml
index cf82bc9f..b0dc120f 100644
--- a/cparser/Rename.ml
+++ b/cparser/Rename.ml
@@ -48,6 +48,7 @@ let enter_static env id file =
let id' = StringMap.find id.name env.re_public in
{ env with re_id = IdentMap.add id id' env.re_id }
with Not_found ->
+ let file = String.map (fun a -> match a with 'a'..'z' | 'A'..'Z' | '0'..'9' -> a | _ -> '_') file in
let id' = {id with name = Printf.sprintf "_%s_%s" file id.name} in
{ re_id = IdentMap.add id id' env.re_id;
re_public = env.re_public;