- 12 Feb, 2016 3 commits
-
-
Ryan Scott authored
Summary: Ties up loose ends from D1894. GHC 7.10.2 and 7.10.3 featured a `Show` instance for `CallStack`, but since it was derived, it broke encapsulation. This adds a `Show` instance which displays the `CallStack` as if it were a `[(String, SrcLoc)]`. To ensure that the output of `Show` is technically a valid Haskell term, we also add a corresponding `IsList CallStack` instance. Reviewers: gridaphobe, austin, hvr, bgamari Reviewed By: gridaphobe, bgamari Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D1903
-
Simon Marlow authored
This reverts commit 51a33924.
-
rwbarton authored
-
- 11 Feb, 2016 7 commits
-
-
niteria authored
This fixes a bug where piResultTy created substitutions that would violate both of the invariants in Note [The substitution invariant]. Test Plan: ./validate --slow Reviewers: goldfire, simonpj, austin, bgamari Reviewed By: simonpj, bgamari Subscribers: simonmar, thomie Differential Revision: https://phabricator.haskell.org/D1855 GHC Trac Issues: #11371
-
Gabor Greif authored
-
Previously, all flags were present in user suggest and completion. This commit removes the deprecated ones from there. It is done by saving deprecation info at the moment of flag definition. Reviewers: rwbarton, austin, bgamari Reviewed By: bgamari Subscribers: rwbarton, thomie Differential Revision: https://phabricator.haskell.org/D1883
-
Simon Marlow authored
There were two bugs here: * We weren't ignoring Cast in size_up_app * An application of a non-variable wasn't being charged correct The result was that some things looked too cheap. In my case I had things like ((f x) `cast` ...) y which was given size 21 instead of 30, and this had knock-on effects elsewhere that caused some large code bloat. Test Plan: * nofib runs (todo) * validate Reviewers: simonpj, austin, bgamari, erikd Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D1900 GHC Trac Issues: #11564
-
Simon Marlow authored
-
Simon Peyton Jones authored
...following a question from Conal
-
Simon Peyton Jones authored
See Note [Eta-reduction in -O0] in DynFlags. Bottom line: doing eta reduction unconditionally is benign, and removes an ASSERT failure (Trac #11562).
-
- 10 Feb, 2016 7 commits
-
-
niteria authored
It's just a small cleanup. There should be no change in behaviour. Test Plan: ./validate --slow Reviewers: austin, bgamari, simonpj Reviewed By: simonpj Subscribers: thomie, simonmar Differential Revision: https://phabricator.haskell.org/D1901
-
Simon Peyton Jones authored
This simple change fixes Trac #11563, #11520, #11516, #11399. See esp the comments in #11520. See Note [Fail fast on kind errors] in TcSimplify Merge to 8.0 branch
-
Sergei Trofimovich authored
Noticed as a sphinx warning: docs/users_guide/flags-warnings.gen.rst:97: WARNING: Inline interpreted text or phrase reference start-string without end-string. Which pointed to broken table. Before the patch table looked like: | :ghc-flag:`-Wno-unticked-promoted-constructors | | ` | After the patch long link is on a single line: | :ghc-flag:`-Wno-unticked-promoted-constructors` | Signed-off-by:
Sergei Trofimovich <siarheit@google.com>
-
Sergei Trofimovich authored
Noticed when looked through sphinx warnings: docs/users_guide/safe_haskell.rst:4: SEVERE: Duplicate ID: "ghc-flag-Issue" Signed-off-by:
Sergei Trofimovich <siarheit@google.com>
-
On the GHC 8.0 RCs, multiple users reported a very strange error whereby GHC would complain that the symbols names recorded in interface files did not match the expected name. The reason for this is that they were using an old version of Cabal which chose symbol names differently from the installed package ID ('id' field) which the package was to be installed with; GHC 8.0 now mandates that these coincides. This change adds a test to ghc-pkg to make sure that 'id' and 'key' (which is how Cabal previously reported what the symbol name was supposed to be) match; if they don't match or key is missing, we assume that the Cabal was too old. Bikeshed points: - Should we offer more information about how to upgrade Cabal correctly (i.e. specify a version?) - Should we allow for a missing 'key'? If we allow for 'key' to be missing, we lose the ability to detect Cabal from GHC 7.8 or earlier being used. If we require it to be specified, then it will not be possible for Cabal to deprecate the (unused) field and remove it without having BC for 8.0. Signed-off-by:
Edward Z. Yang <ezyang@cs.stanford.edu> Test Plan: validate Reviewers: austin, bgamari, hvr Reviewed By: hvr Subscribers: bergmark, thomie Differential Revision: https://phabricator.haskell.org/D1892 GHC Trac Issues: #11558
-
Reviewers: austin, bgamari Reviewed By: bgamari Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D1899
-
The bug itself has already been fixed in #10734, so this only adds another regression test (as given in the ticket). Test Plan: ./validate Reviewers: goldfire, austin, thomie, bgamari Reviewed By: bgamari Differential Revision: https://phabricator.haskell.org/D1898 GHC Trac Issues: #9022
-
- 09 Feb, 2016 9 commits
-
-
Sergei Trofimovich authored
GHC does not use passed paramaters anywhere for this deprecated option. Signed-off-by:
Sergei Trofimovich <siarheit@google.com>
-
Ben Gamari authored
-
Ben Gamari authored
Previously "types" was inappropriately made plural instead of "instance", instance Eq Ordering -- Defined in ‘GHC.Classes’ ...plus 24 others ...plus 13 instance involving out-of-scope typess
-
GHC 7.10.2 and 7.10.3 had a derived `Eq` instance for `SrcLoc`, but it seems to have been removed (see 6740d70d) during GHC 8.0 development. Reviewers: hvr, austin, gridaphobe, bgamari Reviewed By: gridaphobe, bgamari Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D1894
-
Test Plan: GREP_OPTIONS=--blah ./validate Reviewers: austin, thomie Reviewed By: thomie Differential Revision: https://phabricator.haskell.org/D1887 GHC Trac Issues: #11530
-
When CrossCompiling=YES or Stage1Only=YES, building the haddocks and the User's Guide should be skipped, because haddock and mkUserGuidePart depend on the GHC API. See Note [No stage2 packages when CrossCompiling or Stage1Only] for details. There are several places in the build system where the variables HADDOCK_DOCS and BUILD_SPHINX_* are checked. Instead of also checking for the variables CrossCompiling or Stage1Only in all those places, `make` will now exit with a nice error message when the user requests the impossible. Reviewers: rwbarton, austin, bgamari Reviewed By: bgamari Differential Revision: https://phabricator.haskell.org/D1882
-
The module CmmLayoutStack removes stack checks if a function does not use stack space. However, it can only recognize checks of the form Sp < SpLim. However, these checks get sometimes rewritten to Sp >= SpLim (with both branches swapped), so we better recognize these checks too. Test Plan: ./validate Reviewers: austin, bgamari, simonpj Reviewed By: simonpj Subscribers: simonpj, thomie Differential Revision: https://phabricator.haskell.org/D1881 GHC Trac Issues: #11533
-
Ben Gamari authored
This was largely fixed by the re-rework of the pattern match checker. Resolves #5642.
-
Reviewers: austin, thomie Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D1893
-
- 08 Feb, 2016 14 commits
-
-
Ömer Sinan Ağacan authored
We also need to update `stgBindHasCafRefs` assertion with this change, as we no longer have the pre-computed SRT, LiveVars etc. We rename it to `topStgBindHasCafRefs` and implement it like this: A non-updatable top-level binding may refer to a CAF by referring to a top-level definition with CAFs. A top-level definition may have CAFs if it's updatable. At this point (because this is done after TidyPgm) top-level Ids (whether imported or defined in this module) are GlobalIds, so the top-levelness test is easy. (see also comments in the code) Reviewers: bgamari, simonpj, austin Reviewed By: simonpj Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D1889 GHC Trac Issues: #11550
-
Simon Peyton Jones authored
tyConRolesRepresentational is just a version of tyConRolesX, but specialised for a Representational argument. Saves a bit of extra argument passing and pattern matching, and tyConRolesX was often called when we knew the argument role was Representational. Rather to my surprise this made the compiler allocate 5% less for tests T9872{b,c,d}. At least I think it's this commit. Good thing, regardless.
-
Simon Peyton Jones authored
-
Simon Peyton Jones authored
mkTvSubst :: InScopeSet -> TvSubstEnv -> TCvSubst produces a TCvSubst with an empty CvSubstEnv
-
Simon Peyton Jones authored
..around newtype deriving instances. See esp the new Note [Newtype-deriving instances] No change in behaviour
-
Ben Gamari authored
-
Simon Peyton Jones authored
This patch fixes Trac #11523. * The basic problem was that TcRnTypes.superClassesMightHelp was returning True of a Derived constraint, and that led to us expanding Given superclasses, which produced the same Derived constraint again, and so on infinitely. We really want to do this only if there are unsolve /Wanted/ contraints! * On the way I made TcSMonad.getUnsolvedInerts a bit more discriminating about which Derived equalities it returns; see Note [Unsolved Derived equalities] in TcSMonad * Lots of new comments in TcSMonad.
-
Simon Peyton Jones authored
-
Simon Peyton Jones authored
This is a small refactoring, no change in behaviour.
-
Simon Peyton Jones authored
If we fail to typecheck by blowing the constraint simplifier iteration limit, we want to see the limit-blowing meessage. Previously it was being suppressed by the type /error/, which suppress the iteration-limit /warning/. Solution: make the iteration-limit message into an error.
-
Simon Peyton Jones authored
-
Simon Peyton Jones authored
They were excessively verbose. I've commented them out rather than deleting so that they can easily be restored.
-
Simon Peyton Jones authored
When investigating Trac #11523 I found that superclass expansion was a little over-aggressive; we were sort of unrolling each loop twice. This patch corrects that, and adds explanatory comments.
-
Simon Peyton Jones authored
-