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
-- 
