diff options
author | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2006-09-07 15:30:24 +0000 |
---|---|---|
committer | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2006-09-07 15:30:24 +0000 |
commit | 593ce3f7c5647e284cd2fdc3dd3ed41be9563982 (patch) | |
tree | 6ec1df325b89bb0c320023861118549deb9a9e71 /cil.patch/usedef.ml.patch | |
parent | fa7415be2fe9b240374f0a51c1cd4a9de5376c5a (diff) | |
download | compcert-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.patch | 38 |
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 |