[commit: ghc] wip/ghc-8.0-det: Serialize vParallelTyCons in a stable order (3b745a1)
git at git.haskell.org
git at git.haskell.org
Mon Jul 25 14:59:03 UTC 2016
Repository : ssh://git@git.haskell.org/ghc
On branch : wip/ghc-8.0-det
Link : http://ghc.haskell.org/trac/ghc/changeset/3b745a14f69d1a6143df17d58c8eb3368ed9812c/ghc
>---------------------------------------------------------------
commit 3b745a14f69d1a6143df17d58c8eb3368ed9812c
Author: Bartosz Nitka <niteria at gmail.com>
Date: Thu Jun 2 09:51:04 2016 -0700
Serialize vParallelTyCons in a stable order
nameSetElems can introduce nondeterminism and while I haven't
observed this being a problem in practice (possibly because this
is dead code) there's no downside to doing this.
Test Plan: ./validate
Reviewers: bgamari, austin, simonpj, simonmar
Reviewed By: simonmar
Subscribers: thomie
Differential Revision: https://phabricator.haskell.org/D2296
GHC Trac Issues: #4012
(cherry picked from commit d348acd527548fc71a59e239a963e982c69af1f8)
>---------------------------------------------------------------
3b745a14f69d1a6143df17d58c8eb3368ed9812c
compiler/iface/MkIface.hs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/compiler/iface/MkIface.hs b/compiler/iface/MkIface.hs
index 1a31afd..1b9570c 100644
--- a/compiler/iface/MkIface.hs
+++ b/compiler/iface/MkIface.hs
@@ -326,7 +326,7 @@ mkIface_ hsc_env maybe_old_fingerprint
, ifaceVectInfoTyCon = [tyConName t | (t, t_v) <- nameEnvElts vTyCon, t /= t_v]
, ifaceVectInfoTyConReuse = [tyConName t | (t, t_v) <- nameEnvElts vTyCon, t == t_v]
, ifaceVectInfoParallelVars = [Var.varName v | v <- varSetElems vParallelVars]
- , ifaceVectInfoParallelTyCons = nameSetElems vParallelTyCons
+ , ifaceVectInfoParallelTyCons = nameSetElemsStable vParallelTyCons
}
-----------------------------
More information about the ghc-commits
mailing list