- 06 Jan, 2015 1 commit
-
-
Simon Peyton Jones authored
Previously it was a SrcSpan, which can be an UnhelpulSrcSpan, but actually for TcLclEnv and CtLoc we always know it is a real source location, and it's good to make the types reflect that fact. There is a continuing slight awkwardness (not new with this patch) about what "file name" to use for GHCi code. Current we say "<interactive>" which seems just about OK.
-
- 05 Jan, 2015 1 commit
-
-
Edward Z. Yang authored
Signed-off-by:
Edward Z. Yang <ezyang@cs.stanford.edu>
-
- 03 Jan, 2015 4 commits
-
-
Herbert Valerio Riedel authored
-
Edward Z. Yang authored
Summary: Where we track timestamps of object files, also track timestamps for interface files. When -fno-code -fwrite-interface is enabled, use the interface file timestamp as an extra check to see if the files are up-to-date. We had to apply this logic to one-shot and make modes. This fix would be good to merge into 7.10; it makes using -fno-code -fwrite-interface for flywheel type checking usable. Signed-off-by:
Edward Z. Yang <ezyang@cs.stanford.edu> Test Plan: validate and new test cases Reviewers: austin Subscribers: carter, thomie Differential Revision: https://phabricator.haskell.org/D596 GHC Trac Issues: #9243
-
Edward Z. Yang authored
Summary: The isNothing maybe_old_linkable check predates 48bc81ad, which fixed #481 by requiring recompilation information to be passed in as an argument to compileOne. As a result, the check here is redundant: the client has already taken a look at the object file to see if it is available or not. Signed-off-by:
Edward Z. Yang <ezyang@cs.stanford.edu> Test Plan: validate Reviewers: simonmar, austin Subscribers: carter, thomie Differential Revision: https://phabricator.haskell.org/D594
-
Joachim Breitner authored
either one of the two recent commits (d8d00318, fd97d2a7) fixed it, or there is some nondeterminism here. See #9938.
-
- 31 Dec, 2014 2 commits
-
-
Simon Peyton Jones authored
See Note [Replacement vs keeping]. There's a bit further to go with this change (to report unused givens). But it's already an improvement; see the latent bug described in the Note.
-
Simon Peyton Jones authored
I always found calls to TcCanonical.xCtEvidence hard to grok; and I found that we only had two left. This patch eliminates them, along with xCtEvidence, its accompanying comments, and the auxiliary XEvTerm type. The two remaining calls were these: * One was in newSCWorkFromFlavored, where we'd already done case-splitting for given/wanted/derived. So inlining the xCtEvidence made the code simpler, clearer, and faster. * The other was in canTuple; here all of xCtEvidence's functionality was needed, but inlining again made a net gain in code size and clarity.
-
- 30 Dec, 2014 5 commits
-
-
Simon Peyton Jones authored
This tidies up all the comments about recursive superclasses and when to add superclasses. Lots of duplicate and contradictory comments removed!
-
Simon Peyton Jones authored
-
Simon Peyton Jones authored
I ended up introducing a new sub-section on instance termination.
-
Joachim Breitner authored
-
Joachim Breitner authored
By passing -O2, the bug appears depending on the order of clauses in "solve", hence adding T9938B as the other variant. Currently, T9938 is marked as broken, but maybe the bug is actually in T9938B, where something (possibly inlining, as suggested by rwbarton) affected the requirement to link against transformers.
-
- 29 Dec, 2014 4 commits
-
-
Joachim Breitner authored
Marked as known_broken
-
Edward Z. Yang authored
Summary: Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> Test Plan: validate Reviewers: austin, erikd Reviewed By: erikd Subscribers: erikd, carter, thomie Differential Revision: https://phabricator.haskell.org/D588
-
Peter Trommler authored
Summary: Flag `-l:` is GNU ld specific and not supported by the Mac OS X link editor. So we create a temporary file name lib<tmpname>.<so_ext> and link with the standard -l<tmpname> option on Linux and OS X. Fixes #9875 Test Plan: validate on Mac OS X Reviewers: austin, hvr, ezyang Reviewed By: ezyang Subscribers: carter, thomie, ezyang Differential Revision: https://phabricator.haskell.org/D579 GHC Trac Issues: #9875
-
Herbert Valerio Riedel authored
This was introduced in 1617a10a (re #5364)
-
- 28 Dec, 2014 5 commits
-
-
Erik de Castro Lopo authored
Summary: * Throw an error when cross-compiling without a target definition. When cross compiling via LLVM, a target 'datalayout' and 'triple' must be defined or LLVM will generate code for the compile host instead of the compile target. * Add aarch64-unknown-linux-gnu target. The datalayout and triple lines were found by using clang to compile a small C program and -emit-llvm to get the LLVM IR output. Signed-off-by:
Erik de Castro Lopo <erikd@mega-nerd.com> Test Plan: validate Reviewers: rwbarton, carter, hvr, bgamari, austin Reviewed By: austin Subscribers: carter, thomie, garious Differential Revision: https://phabricator.haskell.org/D585 GHC Trac Issues: #9895
-
cactus authored
This involves recognizing lines starting with `"pattern "` as declarations, keeping non-exported pattern synonyms in `deSugar`, and including pattern synonyms in the result of `hscDeclsWithLocation`.
-
Herbert Valerio Riedel authored
This drops a couple of `-fno-warn-*` which seem to have become obsolete by now. Moreover, with the cleaned up settings `./validate` passes with GHC 7.10.1 as bootstrap compiler.
-
Herbert Valerio Riedel authored
-
David Feuer authored
Summary: This makes it easier to see what is exported, and allows us to add non-exported top-level names. Reviewers: hvr, austin, ezyang Reviewed By: ezyang Subscribers: ezyang, carter, thomie Projects: #ghc Differential Revision: https://phabricator.haskell.org/D551 GHC Trac Issues: #9852
-
- 27 Dec, 2014 7 commits
-
-
Herbert Valerio Riedel authored
This removes compile warnings triggered by those modules due to redundant imports and/or due to tabs
-
Herbert Valerio Riedel authored
-
Herbert Valerio Riedel authored
-
Edward Z. Yang authored
Summary: This allows GHC HEAD to be bootstrapped using 7.10. Signed-off-by:
Edward Z. Yang <ezyang@cs.stanford.edu> Test Plan: validate Reviewers: austin Subscribers: carter, thomie Differential Revision: https://phabricator.haskell.org/D589 GHC Trac Issues: #9652
-
Edward Z. Yang authored
Signed-off-by:
Edward Z. Yang <ezyang@cs.stanford.edu>
-
Joachim Breitner authored
-
Herbert Valerio Riedel authored
This should address #9924 as GHC's config.guess/sub versions need to be up to date anyway.
-
- 25 Dec, 2014 1 commit
-
-
Herbert Valerio Riedel authored
First attempt via 7a2c9dde wasn't working properly. This attempt should work better as it doesn't cause the makefile recipe to fail which causes `make` to emit additional varying output.
-
- 24 Dec, 2014 1 commit
-
-
rwbarton authored
Summary: I'm not really happy about perpetuating the hackish fix for #8696, but at least in the context of building with -fhpc, the performance cost should be negligible. I'm suspicious about PlainModuleInitLabel and the Windows stuff too, but I don't know what it does / can't test it (respectively) so I'll leave those alone for now. Hopefully out-of-process TH will save us from these hacks some day. The test is an adaptation of T8696. It's a bit more awkward since I couldn't think of a way to get cross-module tickbox references without optimizations (inlining), but ghci doesn't permit -O for some reason. Test Plan: harbormaster; validate Reviewers: austin Reviewed By: austin Subscribers: carter, thomie Differential Revision: https://phabricator.haskell.org/D583 GHC Trac Issues: #9762 Conflicts: testsuite/tests/ghci/scripts/all.T
-
- 23 Dec, 2014 9 commits
-
-
rwbarton authored
Summary: Note: This commit includes an API change to GhciMonad.runDecls to allow the caller to determine whether the declarations were run successfully or not. Test Plan: harbormaster Reviewers: austin Reviewed By: austin Subscribers: carter, thomie Differential Revision: https://phabricator.haskell.org/D582
-
rwbarton authored
Summary: Some Trues and Falses were mixed up due to Bool being used in different senses in different parts of GHCi. Test Plan: harbormaster; validate Reviewers: austin Reviewed By: austin Subscribers: carter, thomie Differential Revision: https://phabricator.haskell.org/D581 GHC Trac Issues: #9905 Conflicts: ghc/InteractiveUI.hs
-
Herbert Valerio Riedel authored
This is not a proper fix as the `x` in `make[x]: ...` changes depending on how the testsuite was called. So this probably only works when invoked via ./validate.
-
Simon Peyton Jones authored
This patch makes the renamer check for self-import, especially when dependencies change, because the typechecker can fall over if that happens. I'm still uneasy about *indirect* self-import, but I'll leave that for another day
-
Simon Peyton Jones authored
I found several tests that failed when the interface file format changed, due to leftover .hi file droppings. I'm not sure I've done this right, but it should be a bit better
-
Simon Peyton Jones authored
This replaces a bunch of boolean flags in ReportErrCtxt with an algebraic data type to say how to handle expression holes and type holes No change in functionality; I just found myself unable to understand the code easily, when thinking about something else. Result is quite nice, I think.
-
Simon Peyton Jones authored
-
Simon Peyton Jones authored
-
Simon Peyton Jones authored
The purpose of silent superclass parameters was to solve the awkward problem of superclass dictinaries being bound to bottom. See THE PROBLEM in Note [Recursive superclasses] in TcInstDcls Although the silent-superclass idea worked, * It had non-local consequences, and had effects even in Haddock, where we had to discard silent parameters before displaying instance declarations * It had unexpected peformance costs, shown up by Trac #3064 and its test case. In monad-transformer code, when constructing a Monad dictionary you had to pass an Applicative dictionary; and to construct that you neede a Functor dictionary. Yet these extra dictionaries were often never used. (All this got much worse when we added Applicative as a superclass of Monad.) Test T3064 compiled *far* faster after silent superclasses were eliminated. * It introduced new bugs. For example SilentParametersOverlapping, T5051, and T7862, all failed to compile because of instance overlap directly because of the silent-superclass trick. So this patch takes a new approach, which I worked out with Dimitrios in the closing hours before Christmas. It is described in detail in THE PROBLEM in Note [Recursive superclasses] in TcInstDcls. Seems to work great! Quite a bit of knock-on effect * The main implementation work is in tcSuperClasses in TcInstDcls Everything else is fall-out * IdInfo.DFunId no longer needs its n-silent argument * Ditto IDFunId in IfaceSyn * Hence interface file format changes * Now that DFunIds do not have silent superclass parameters, printing out instance declarations is simpler. There is tiny knock-on effect in Haddock, so that submodule is updated * I realised that when computing the "size of a dictionary type" in TcValidity.sizePred, we should be rather conservative about type functions, which can arbitrarily increase the size of a type. Hence the new datatype TypeSize, which has a TSBig constructor for "arbitrarily big". * instDFunType moves from TcSMonad to Inst * Interestingly, CmmNode and CmmExpr both now need a non-silent (Ord r) in a couple of instance declarations. These were previously silent but must now be explicit. * Quite a bit of wibbling in error messages
-