aboutsummaryrefslogtreecommitdiffstats
path: root/cil.patch/usedef.ml.patch
diff options
context:
space:
mode:
authorxleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2006-09-07 15:30:24 +0000
committerxleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2006-09-07 15:30:24 +0000
commit593ce3f7c5647e284cd2fdc3dd3ed41be9563982 (patch)
tree6ec1df325b89bb0c320023861118549deb9a9e71 /cil.patch/usedef.ml.patch
parentfa7415be2fe9b240374f0a51c1cd4a9de5376c5a (diff)
downloadcompcert-593ce3f7c5647e284cd2fdc3dd3ed41be9563982.tar.gz
compcert-593ce3f7c5647e284cd2fdc3dd3ed41be9563982.zip
Integration du front-end CIL developpe par Thomas Moniot
git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@84 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
Diffstat (limited to 'cil.patch/usedef.ml.patch')
-rw-r--r--cil.patch/usedef.ml.patch38
1 files changed, 38 insertions, 0 deletions
diff --git a/cil.patch/usedef.ml.patch b/cil.patch/usedef.ml.patch
new file mode 100644
index 00000000..d0753163
--- /dev/null
+++ b/cil.patch/usedef.ml.patch
@@ -0,0 +1,38 @@
+*** ../cil/src/ext/usedef.ml 2006-05-21 06:14:15.000000000 +0200
+--- ../cil_patch/src/ext/usedef.ml 2006-06-20 17:36:16.000000000 +0200
+***************
+*** 1,3 ****
+--- 1,5 ----
++ (* MODIF: Loop constructor replaced by 3 constructors: While, DoWhile, For. *)
++
+
+ open Cil
+ open Pretty
+***************
+*** 130,136 ****
+--- 132,141 ----
+ | Return (Some e, _) -> ve e
+ | If (e, _, _, _) -> ve e
+ | Break _ | Goto _ | Continue _ -> ()
++ (*
+ | Loop (_, _, _, _) -> ()
++ *)
++ | While _ | DoWhile _ | For _ -> ()
+ | Switch (e, _, _, _) -> ve e
+ | Instr il ->
+ List.iter (fun i -> ignore (visitCilInstr useDefVisitor i)) il
+***************
+*** 165,171 ****
+--- 170,181 ----
+ let u'', d'' = handle_block fb in
+ (VS.union (VS.union u u') u'', VS.union (VS.union d d') d'')
+ | Break _ | Goto _ | Continue _ -> !varUsed, !varDefs
++ (*
+ | Loop (b, _, _, _) -> handle_block b
++ *)
++ | While (_, b, _) -> handle_block b
++ | DoWhile (_, b, _) -> handle_block b
++ | For (_, _, _, b, _) -> handle_block b
+ | Switch (e, b, _, _) ->
+ let _ = ve e in
+ let u, d = !varUsed, !varDefs in