[GHC] #4012: Compilation results are not deterministic
GHC
ghc-devs at haskell.org
Thu Apr 28 12:48:04 UTC 2016
#4012: Compilation results are not deterministic
-------------------------------------+-------------------------------------
Reporter: kili | Owner: niteria
Type: bug | Status: new
Priority: high | Milestone: 8.2.1
Component: Compiler | Version: 6.12.2
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: Other | Test Case:
Blocked By: 11362 | Blocking:
Related Tickets: #10424 | Differential Rev(s): Phab:D910,
| Phab:D1073, Phab:D1133, Phab:D1192,
| Phab:D1268, Phab:D1360, Phab:D1373,
Wiki Page: | Phab:D1396, Phab:D1457, Phab:D1468,
DeterministicBuilds | Phab:D1487, Phab:D1504, Phab:D1508
-------------------------------------+-------------------------------------
Comment (by Bartosz Nitka <niteria@…>):
In [changeset:"82538f65f48f370764691264c3c71b975fd43e16/ghc"
82538f65/ghc]:
{{{
#!CommitTicketReference repository="ghc"
revision="82538f65f48f370764691264c3c71b975fd43e16"
Kill varSetElems in injImproveEqns
We want to remove varSetElems at the source level because it
might be a source of nondeterminism. I don't think it introduces
nondeterminism here, but it's easy to do the same thing
deterministically for the same price.
instFlexiTcS :: [TKVar] -> TcS (TCvSubst, [TcType])
instFlexiTcS currently gives the range of the produced substitution
as the second element of the tuple, but it's not used anywhere
right now. If it started to be used in the code I'm modifying
it would cause nondeterminism problems.
Test Plan: ./validate
Reviewers: austin, goldfire, bgamari, simonmar, simonpj
Reviewed By: simonpj
Subscribers: thomie
Differential Revision: https://phabricator.haskell.org/D2149
GHC Trac Issues: #4012
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/4012#comment:154>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list