[Pkg-ocaml-maint-commits] [SCM] frama-c packaging branch, master, updated. debian/20100401+boron+dfsg-4-10-gf188023

Mehdi Dogguy mehdi at debian.org
Sun Apr 24 16:21:37 UTC 2011


The following commit has been merged in the master branch:
commit 17eab41af7680548f95442a21e42055bd8e8bf90
Author: Mehdi Dogguy <mehdi at debian.org>
Date:   Sat Apr 23 18:40:59 2011 +0200

    Add fix for issue 727

diff --git a/debian/changelog b/debian/changelog
index 4f75129..3032aff 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -4,10 +4,11 @@ frama-c (20110201+carbon+dfsg-1) unstable; urgency=low
     - Update copyright file.
     - Remove all patches, integrated by upstream.
     - Add patches:
-      + 0001-Value-Analysis-Carbon-patchlevel-1.patch 
+      + 0001-Value-Analysis-Carbon-patchlevel-1.patch
+      + 0002-Fix-for-issue-727.patch
   * Fix Categories field in frama-c.desktop (Closes: #610432) (LP: #613853).
 
- -- Mehdi Dogguy <mehdi at debian.org>  Fri, 15 Apr 2011 23:06:36 +0200
+ -- Mehdi Dogguy <mehdi at debian.org>  Sat, 23 Apr 2011 18:40:20 +0200
 
 frama-c (20100401+boron+dfsg-5) unstable; urgency=low
 
diff --git a/debian/patches/0002-Fix-for-issue-727.patch b/debian/patches/0002-Fix-for-issue-727.patch
new file mode 100644
index 0000000..5b5fcb9
--- /dev/null
+++ b/debian/patches/0002-Fix-for-issue-727.patch
@@ -0,0 +1,79 @@
+From: Mehdi Dogguy <mehdi at debian.org>
+Date: Sat, 23 Apr 2011 18:39:43 +0200
+Subject: [PATCH] Fix for issue 727
+
+---
+ src/kernel/visitor.ml |   26 ++++++++++++++++++--------
+ 1 files changed, 18 insertions(+), 8 deletions(-)
+
+diff --git a/src/kernel/visitor.ml b/src/kernel/visitor.ml
+index 5c6f69f..d09774e 100644
+--- a/src/kernel/visitor.ml
++++ b/src/kernel/visitor.ml
+@@ -178,30 +178,38 @@ object(self)
+           self#get_filling_actions
+       end
+     in
+-    let post_action stmt = change_stmt stmt (make_children_annot self); stmt in
++    let post_action f stmt =
++      let annots = make_children_annot self in
++      let stmt = f stmt in
++      change_stmt stmt annots; stmt
++    in
+     let copy stmt =
+       change_stmt stmt
+         (make_children_annot self#frama_c_plain_copy); stmt
+     in
++    let plain_post = post_action (fun x -> x) in
+     match res with
+     | SkipChildren -> res
+     | JustCopy -> JustCopyPost copy
+     | JustCopyPost f -> JustCopyPost (f $ copy)
+-    | DoChildren -> ChangeDoChildrenPost (stmt, post_action)
++    | DoChildren -> ChangeDoChildrenPost (stmt, plain_post)
+     | ChangeTo _ | ChangeToPost _ -> res
+     | ChangeDoChildrenPost (stmt,f) ->
+-      ChangeDoChildrenPost (stmt, f $ post_action)
++      ChangeDoChildrenPost (stmt, post_action f)
+ 
+   method vstmt_aux _ = DoChildren
+   method vglob_aux _ = DoChildren
+ 
+   method vglob g =
+-    let has_kf =
++    let fundec, has_kf =
+       match g with
+         GVarDecl(_,v,_) when isFunctionType v.vtype ->
+-          self#set_current_kf (Globals.Functions.get v); true
+-      | GFun(f,_) -> self#set_current_kf (Globals.Functions.get f.svar); true
+-      | _ -> false
++          self#set_current_kf (Globals.Functions.get v);
++          None, true
++      | GFun(f,_) ->
++        self#set_current_kf (Globals.Functions.get f.svar);
++        Some f, true
++      | _ -> None, false
+     in
+     let res = self#vglob_aux g in
+     let make_funspec () =
+@@ -283,8 +291,10 @@ object(self)
+     in
+     let post_action g =
+       let spec = lazy (make_funspec ()) in
++      Extlib.may self#set_current_func fundec;
+       List.iter (fun g -> change_glob g (Lazy.force spec)) g;
+       if has_kf then self#reset_current_kf();
++      Extlib.may (fun _ -> self#reset_current_func ()) fundec;
+       g
+     in
+     match res with
+@@ -299,7 +309,7 @@ object(self)
+       if has_kf then self#reset_current_kf();
+       res
+     | ChangeToPost (l,f) -> ChangeToPost (l, f $ post_action)
+-    | ChangeDoChildrenPost (g,f) -> ChangeDoChildrenPost (g, f $ post_action)
++    | ChangeDoChildrenPost (g,f) -> ChangeDoChildrenPost (g, post_action $ f)
+ end
+ 
+ class frama_c_copy prj = generic_frama_c_visitor prj (copy_visit ())
+-- 
diff --git a/debian/patches/series b/debian/patches/series
index 09bf248..4757ee4 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
 0001-Value-Analysis-Carbon-patchlevel-1.patch
+0002-Fix-for-issue-727.patch

-- 
frama-c packaging



More information about the Pkg-ocaml-maint-commits mailing list