The following commit has been merged in the master branch: commit 17eab41af7680548f95442a21e42055bd8e8bf90 Author: Mehdi Dogguy <me...@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 <me...@debian.org> Fri, 15 Apr 2011 23:06:36 +0200 + -- Mehdi Dogguy <me...@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 <me...@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 _______________________________________________ Pkg-ocaml-maint-commits mailing list Pkg-ocaml-maint-commits@lists.alioth.debian.org http://lists.alioth.debian.org/mailman/listinfo/pkg-ocaml-maint-commits