--- sml/trunk/src/compiler/FLINT/clos/cps-split.sml 2000/11/06 21:54:13 728 +++ sml/trunk/src/compiler/FLINT/clos/cps-split.sml 2000/11/09 02:16:17 729 @@ -99,10 +99,12 @@ edges: node list ref, fv: A.lvar list } - fun lt (N n1, N n2) = (#id n1) < (#id n2) - fun eq (N n1, N n2) = (#id n1) = (#id n2) + structure SccNode = struct + type ord_key = node + fun compare (N n1, N n2) = Int.compare (#id n1, #id n2) + end - structure SCC = SCCUtilFun (type node = node val lt = lt val eq = eq) + structure SCC = GraphSCCFn (SccNode) fun scc (l, fv, e) = let val root = N { id = ~1, function = NONE, edges = ref [], fv = fv }