[commit: ghc] master: Serialize vParallelTyCons in a stable order (d348acd)

git at git.haskell.org git at git.haskell.org
Thu Jun 2 16:48:11 UTC 2016


Repository : ssh://git@git.haskell.org/ghc

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/d348acd527548fc71a59e239a963e982c69af1f8/ghc

>---------------------------------------------------------------

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


>---------------------------------------------------------------

d348acd527548fc71a59e239a963e982c69af1f8
 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 7652421..ebdf74d 100644
--- a/compiler/iface/MkIface.hs
+++ b/compiler/iface/MkIface.hs
@@ -327,7 +327,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