summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Make Applicative-Monad fixes for tests.wip/dph-fixGeoffrey Mainland2014-10-023-5/+9
|
* Update primitive, vector, and dph.Geoffrey Mainland2014-10-023-0/+0
|
* Rename _closure to _static_closure, apply naming consistently.Edward Z. Yang2014-10-0130-162/+203
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: In preparation for indirecting all references to closures, we rename _closure to _static_closure to ensure any old code will get an undefined symbol error. In order to reference a closure foobar_closure (which is now undefined), you should instead use STATIC_CLOSURE(foobar). For convenience, a number of these old identifiers are macro'd. Across C-- and C (Windows and otherwise), there were differing conventions on whether or not foobar_closure or &foobar_closure was the address of the closure. Now, all foobar_closure references are addresses, and no & is necessary. CHARLIKE/INTLIKE were not changed, simply alpha-renamed. Part of remove HEAP_ALLOCED patch set (#8199) Depends on D265 Signed-off-by: Edward Z. Yang <ezyang@mit.edu> Test Plan: validate Reviewers: simonmar, austin Subscribers: simonmar, ezyang, carter, thomie Differential Revision: https://phabricator.haskell.org/D267 GHC Trac Issues: #8199
* Properly generate info tables for static closures in C--.Edward Z. Yang2014-10-012-3/+5
| | | | | | | | | | | | | | | | | | | | | | | Summary: Previously, we assumed all objects declared in C-- were not-static, even ones which were CONSTR_NOCAF_STATIC. This used to be harmless, but now we need this information to be correct. Part of remove HEAP_ALLOCED patch set (#8199) Depends on D264 Signed-off-by: Edward Z. Yang <ezyang@mit.edu> Test Plan: validate Reviewers: simonmar, austin Subscribers: simonmar, ezyang, carter, thomie Differential Revision: https://phabricator.haskell.org/D265 GHC Trac Issues: #8199
* BC-breaking changes to C-- CLOSURE syntax.Edward Z. Yang2014-10-014-20/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Previously, there were two variants of CLOSURE in C--: - Top-level CLOSURE(foo_closure, foo, lits...), which defines a new static closure and gives it a name, and - Array CLOSURE(foo, lits...), which was used for the static char and integer arrays. They used the same name, were confusing, and didn't even generate the correct internal label representation! So now, we have two new forms: - Top-level CLOSURE(foo, lits...) which automatically generates foo_closure (along with foo_info, which we were doing already) - Array ANONYMOUS_CLOSURE(foo, lits...) which doesn't generate a foo_closure identifier. Part of remove HEAP_ALLOCED patch set (#8199) Signed-off-by: Edward Z. Yang <ezyang@mit.edu> Test Plan: validate Reviewers: simonmar, austin Subscribers: simonmar, ezyang, carter, thomie Differential Revision: https://phabricator.haskell.org/D264 GHC Trac Issues: #8199
* Place static closures in their own section.Edward Z. Yang2014-10-0110-4/+19
| | | | | | | | | | | | | | | | | | | | | | | Summary: The primary reason for doing this is assisting debuggability: if static closures are all in the same section, they are guaranteed to be adjacent to one another. This will help later when we add some code that takes section start/end and uses this to sanity-check the sections. Part of remove HEAP_ALLOCED patch set (#8199) Signed-off-by: Edward Z. Yang <ezyang@mit.edu> Test Plan: validate Reviewers: simonmar, austin Subscribers: simonmar, ezyang, carter, thomie Differential Revision: https://phabricator.haskell.org/D263 GHC Trac Issues: #8199
* Use LinkerInternals.h for exitLinker.Edward Z. Yang2014-10-011-1/+1
| | | | | | | | | | | | | | | | Part of remove HEAP_ALLOCED patch set (#8199) Summary: Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> Test Plan: validate Reviewers: simonmar, austin Subscribers: simonmar, ezyang, carter, thomie Differential Revision: https://phabricator.haskell.org/D262 GHC Trac Issues: #8199
* Basic Python 3 support for testsuite driver (Trac #9184)Krzysztof Gogolewski2014-10-0115-195/+169
| | | | | | | | | | | | | | | | | | | | | | | | Summary: Most of the changes is adaptation of old Python 2 only code. My priority was not breaking Python 2, and so I avoided bigger changes to the driver. In particular, under Python 3 the output is a str and buffering cannot be disabled. To test, define PYTHON=python3 in testsuite/mk/boilerplate.mk. Thanks to aspidites <emarshall85@gmail.com> who provided the initial patch. Test Plan: validate under 2 and 3 Reviewers: hvr, simonmar, thomie, austin Reviewed By: thomie, austin Subscribers: aspidites, thomie, simonmar, ezyang, carter Differential Revision: https://phabricator.haskell.org/D233 GHC Trac Issues: #9184
* Use dropWhileEndLE p instead of reverse . dropWhile p . reverseDavid Feuer2014-10-015-9/+41
| | | | | | | | | | | | | | | | | | | | | | | | Summary: Using `dropWhileEndLE` tends to be faster and easier to read than the `reverse . dropWhile p . reverse` idiom. This also cleans up some other, nearby, messes. Fix #9616 (incorrect number formatting potentially leading to incorrect numbers in output). Test Plan: Run validate Reviewers: thomie, rwbarton, nomeata, austin Reviewed By: nomeata, austin Subscribers: simonmar, ezyang, carter, thomie Projects: #ghc Differential Revision: https://phabricator.haskell.org/D259 GHC Trac Issues: #9623, #9616 Conflicts: compiler/basicTypes/OccName.lhs
* [ci skip] Kill unused count_bytes scriptAustin Seipp2014-10-011-43/+0
| | | | Signed-off-by: Austin Seipp <austin@well-typed.com>
* [ci skip] Kill tabs in md5.hAustin Seipp2014-10-011-3/+3
| | | | Signed-off-by: Austin Seipp <austin@well-typed.com>
* [ci skip] compiler: Kill last remaining tabs in CallArityAustin Seipp2014-10-011-2/+2
| | | | Signed-off-by: Austin Seipp <austin@well-typed.com>
* rts/includes: Fix up .dir-locals.elAustin Seipp2014-10-012-18/+20
| | | | | | After 23bb90460, these were slightly busted for `c-mode`. Signed-off-by: Austin Seipp <austin@well-typed.com>
* update cabal submodule to fix build failure on SolarisKarel Gardas2014-10-011-0/+0
|
* First stab at making ./validate less verboseAustin Seipp2014-10-011-3/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: When we run `./validate`, we are typically given an incredibly large heap of information, a large majority of which isn't really necessary. In particular, we don't really care about what `make` is doing, nor `ghc` itself most of the time. This reduces some of the output by making `./validate` quietier. By running: $ ./validate --quiet you'll enable `V=0` in the build, suppressing compiler messages, and you will suppress `make` commands by running `make` in 'silent mode'. It also runs the testsuite with `VERBOSE=2` to avoid extra lines. This alone makes quite a difference for build log sizes. Furthermore, by making the build logs less verbose, life is easier for systems like Harbormaster and Travis-CI, which dislike dealing with logs that are 10k lines or more. Signed-off-by: Austin Seipp <austin@well-typed.com> Test Plan: iiam Reviewers: hvr, nomeata, ezyang Reviewed By: ezyang Subscribers: simonmar, ezyang, carter, thomie Projects: #ghc Differential Revision: https://phabricator.haskell.org/D298
* Simplify mergeSATInfo by using zipWithDavid Feuer2014-10-011-9/+18
| | | | Closes #9561.
* Make filterM a good consumerDavid Feuer2014-10-012-6/+9
| | | | analogously to mapM. Fixes #9546.
* Fusion rule for "foldr k z (x:build g)"David Feuer2014-10-011-0/+3
| | | | | | | | There seem to be various issues with general fold/cons and even cons/build rules, but it seems pretty clear to me that the simple fold/cons/build rule is a good idea. It doesn't do much for nofib allocation, but it seems to improve some other analyses and speed several benchmarks up. Implements #9536.
* Make mapAccumL a good consumerDavid Feuer2014-10-012-1/+18
| | | | This fixes #9502.
* Make scanr a good producer and consumerDavid Feuer2014-10-012-0/+20
| | | | This fixes #9355.
* Make foldr2 a bit more strictDavid Feuer2014-10-013-15/+41
| | | | in order to make its RULES semantics preserving. This fixes #9495.
* Update Win32 submodule to avoid potential -Werror failureHerbert Valerio Riedel2014-10-011-0/+0
|
* Don't use newSysLocal etc for CoercibleSimon Peyton Jones2014-10-011-50/+38
| | | | | The code is smaller and simpler now. Thanks to Richard for raising the question.
* Comments about the let/app invariantSimon Peyton Jones2014-10-011-11/+18
|
* Fix bogus commentSimon Peyton Jones2014-10-011-2/+2
|
* Update hsc2hs submoduleJoachim Breitner2014-10-011-0/+0
| | | | to get David’s code improvements (#9654).
* Add emacs indentation/line-length settingsSimon Marlow2014-09-292-0/+24
|
* Revert "rts: add Emacs 'Local Variables' to every .c file"Simon Marlow2014-09-29161-1288/+0
| | | | This reverts commit 39b5c1cbd8950755de400933cecca7b8deb4ffcd.
* Document that -dynamic is needed for loading compiled code into GHCiSimon Marlow2014-09-291-1/+6
|
* bugfix: EventCapsetID should be EventThreadIDSimon Marlow2014-09-291-1/+1
|
* Fixup nofib submodule to cope with e5cca4ab246ca2Herbert Valerio Riedel2014-09-291-0/+0
|
* Extend `Foldable` class with `length` and `null` methodsHerbert Valerio Riedel2014-09-2811-12/+29
| | | | | | | | | | | | | This completes the `Foldable` class by two important operations which this way can be optimised for the underlying structure more easily. A minor fix for the `containers` submodule was needed to due name clash Addresses #9621 Reviewed By: ekmett, dfeuer, austin Differential Revision: https://phabricator.haskell.org/D250
* Generalise `guard` for real this timeHerbert Valerio Riedel2014-09-281-1/+1
| | | | This was missed in D253 / a07ce1654ac5b8033f2daf9270c6e182415b69ca
* Generalise `Control.Monad.{when,unless,guard}`Herbert Valerio Riedel2014-09-283-9/+12
| | | | | | | | | | | | Generalise `when`/`unless`from `Monad` to `Applicative` and `guard` from `MonadPlus` to `Alternative` respectively. This was made possible by the AMP and is somewhat related to #9586 (but generalising in the context of the AMP instead of the FTP) Reviewed By: ekmett, austin Differential Revision: https://phabricator.haskell.org/D253
* User's Guide: Fix compiler plugin example (#9641, #7682)Reid Barton2014-09-271-2/+2
| | | | The previous fix was incorrectly eta-reduced.
* Set default-impl of `mapM`/`sequence` methods to `traverse`/`sequenceA`Herbert Valerio Riedel2014-09-271-3/+3
| | | | | | | This is made possible by the AMP, as we don't need the `WrappedMonad` helper for that anymore. Approved-by: Edward Kmett <ekmett@gmail.com>
* Stop exporting, and stop using, functions marked as deprecatedThomas Miedema2014-09-2711-16/+13
| | | | | | | | | | | | | | | | | | | | | | | | | Don't export `getUs` and `getUniqueUs`. `UniqSM` has a `MonadUnique` instance: instance MonadUnique UniqSM where getUniqueSupplyM = getUs getUniqueM = getUniqueUs getUniquesM = getUniquesUs Commandline-fu used: git grep -l 'getUs\>' | grep -v compiler/basicTypes/UniqSupply.lhs | xargs sed -i 's/getUs/getUniqueSupplyM/g git grep -l 'getUniqueUs\>' | grep -v combiler/basicTypes/UniqSupply.lhs | xargs sed -i 's/getUniqueUs/getUniqueM/g' Follow up on b522d3a3f970a043397a0d6556ca555648e7a9c3 Reviewed By: austin, hvr Differential Revision: https://phabricator.haskell.org/D220
* Replace obsolete `defaultUserHooks` by `autoconfUserHooks`Herbert Valerio Riedel2014-09-275-1/+1
| | | | This also updates a few submodules
* Update Cabal submodule to latest master branch tipHerbert Valerio Riedel2014-09-261-0/+0
|
* Don't re-export `Alternative(..)` from Control.Monad (re #9586)Herbert Valerio Riedel2014-09-2610-19/+7
| | | | | | | | | | | | | | | | | This was done in d94de87252d0fe2ae97341d186b03a2fbe136b04 to avoid orphans but since a94dc4c3067c6a0925e2e39f35ef0930771535f1 moved `Alternative` into GHC.Base, this isn't needed anymore. This is important, as otherwise this would require a non-neglectable amount of `Control.Monad hiding ((<|>), empty)` imports in user code. The Haddock submodule is updated as well Test Plan: partial local ./validate --fast, let Harbormaster doublecheck it Reviewed By: ekmett, austin Differential Revision: https://phabricator.haskell.org/D248
* Update `unix` submodule to disable getlogin testsHerbert Valerio Riedel2014-09-261-0/+0
|
* CommentsSimon Peyton Jones2014-09-262-2/+3
|
* This test should have -XDataKindsSimon Peyton Jones2014-09-261-1/+1
|
* De-tabify and remove trailing whitespaceSimon Peyton Jones2014-09-2626-3525/+3366
|
* Complain about illegal type literals in renamer, not parserSimon Peyton Jones2014-09-269-22/+13
| | | | | | A premature complaint was causing Trac #9634. Acutally this change also simplifies the lexer and eliminates duplication. (The renamer was already making the check, as it happens.)
* Two improved error messagesSimon Peyton Jones2014-09-262-8/+25
| | | | | I'm not quite sure why these have improved following the previous four commits, but I'm quite happy about it
* Improve error messages from functional dependenciesSimon Peyton Jones2014-09-2613-129/+268
| | | | | | | | | | | | Reponding to Trac #9612: * Track the CtOrigin of a Derived equality, arising from a functional dependency * And report it clearly in the error stream This relies on a previous commit, in which I stop dropping Derived insolubles on the floor.
* Wibble to implicit-parameter error messageSimon Peyton Jones2014-09-263-11/+13
|
* Do not discard insoluble Derived constraintsSimon Peyton Jones2014-09-2617-129/+143
| | | | | | | | | | | | | | | | | | This is preparing for a fix to Trac #9612. The idea is that insoluble constraints are nice solid errors that we should not discard before we have a chance to report them. So TcRnTypes.dropDerivedWC now keeps insoluble Derived constrains, and instead TcSimplify.solve_wanteds filters them out We get somewhat better error message for kind-equality failures too. A slight downside is that to avoid *duplicate* kind-equality failures when we float a kind-incompatible equality (e.g. alpha:* ~ Int#), I've disabled constraint-floating when there are insolubles. But that in turn makes a handful of error messages a little less informative; good examples are mc21, mc22, mc25. But I am re-jigging the constraint floating machinery in another branch, which will make this go back to the way it was before.
* Defer errors in derived instancesSimon Peyton Jones2014-09-2610-33/+56
| | | | Fixes Trac #9576. Turned out to be pretty easy.