summary refs log tree commit diff
path: root/pkgs/development/tools/misc/frama-c/0007-Port-to-OCamlgraph-1.8.2.patch
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/tools/misc/frama-c/0007-Port-to-OCamlgraph-1.8.2.patch')
-rw-r--r--pkgs/development/tools/misc/frama-c/0007-Port-to-OCamlgraph-1.8.2.patch64
1 files changed, 64 insertions, 0 deletions
diff --git a/pkgs/development/tools/misc/frama-c/0007-Port-to-OCamlgraph-1.8.2.patch b/pkgs/development/tools/misc/frama-c/0007-Port-to-OCamlgraph-1.8.2.patch
new file mode 100644
index 000000000000..1c16e1794abc
--- /dev/null
+++ b/pkgs/development/tools/misc/frama-c/0007-Port-to-OCamlgraph-1.8.2.patch
@@ -0,0 +1,64 @@
+From: Mehdi Dogguy <mehdi@debian.org>
+Date: Wed, 16 May 2012 14:48:40 +0200
+Subject: Port to OCamlgraph 1.8.2
+
+ o Graph.Topological: as of OCamlgraph 1.8.2, the input graph must
+   implement Sig.COMPARABLE instead of Sig.HASHABLE
+---
+ src/misc/service_graph.ml           |    2 +-
+ src/misc/service_graph.mli          |    2 +-
+ src/semantic_callgraph/register.ml  |    1 +
+ src/syntactic_callgraph/register.ml |    1 +
+ 4 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/src/misc/service_graph.ml b/src/misc/service_graph.ml
+index f30a1be..567698f 100644
+--- a/src/misc/service_graph.ml
++++ b/src/misc/service_graph.ml
+@@ -24,7 +24,7 @@ module Make
+   (G: sig
+      type t
+      module V: sig
+-       include Graph.Sig.HASHABLE
++       include Graph.Sig.COMPARABLE
+        val id: t -> int
+        val name: t -> string
+        val attributes: t -> Graph.Graphviz.DotAttributes.vertex list
+diff --git a/src/misc/service_graph.mli b/src/misc/service_graph.mli
+index 5ebb570..8006977 100644
+--- a/src/misc/service_graph.mli
++++ b/src/misc/service_graph.mli
+@@ -28,7 +28,7 @@ module Make
+   (G: sig
+      type t
+      module V: sig
+-       include Graph.Sig.HASHABLE
++       include Graph.Sig.COMPARABLE
+        val id: t -> int
+          (** assume is >= 0 and unique for each vertices of the graph *)
+        val name: t -> string
+diff --git a/src/semantic_callgraph/register.ml b/src/semantic_callgraph/register.ml
+index 0b3b4df..064dca8 100644
+--- a/src/semantic_callgraph/register.ml
++++ b/src/semantic_callgraph/register.ml
+@@ -107,6 +107,7 @@ module Service =
+                (if Kernel_function.is_definition v then `Bold
+                 else `Dotted) ]
+          let equal = Kernel_function.equal
++         let compare v1 v2 = Datatype.Int.compare (id v1) (id v2)
+          let hash = Kernel_function.hash
+          let entry_point () =
+            try Some (fst (Globals.entry_point ()))
+diff --git a/src/syntactic_callgraph/register.ml b/src/syntactic_callgraph/register.ml
+index 4efb594..d9d78b9 100644
+--- a/src/syntactic_callgraph/register.ml
++++ b/src/syntactic_callgraph/register.ml
+@@ -41,6 +41,7 @@ module Service =
+              | NIVar (_,b) when not !b -> `Style `Dotted
+              | _ -> `Style `Bold ]
+          let equal v1 v2 = id v1 = id v2
++         let compare v1 v2 = Datatype.Int.compare (id v1) (id v2)
+          let hash = id
+          let entry_point () = !entry_point_ref
+        end
+--