summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * Do not use a relative path for echo in tests/ghci/prog013.Gintautas Miliauskas2014-10-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Trying to run /usr/bin/echo fails when running tests on Windows, but using plain "echo" works fine. I think it's fine to assume the environment is not doing anything particularly funny... Summary: ...with echo... Reviewers: austin Reviewed By: austin Subscribers: thomie, carter, simonmar, #ghc_windows_task_force Differential Revision: https://phabricator.haskell.org/D384
| * Updated stale ghcpkg05.stderr-mingw32.Gintautas Miliauskas2014-10-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Looks like the mingw32-specific test was accidentally forgotten after changing the code and the expected outputs for non OS-specific tests. Reviewers: austin Reviewed By: austin Subscribers: #ghc_windows_task_force, thomie, carter, simonmar Differential Revision: https://phabricator.haskell.org/D383
| * Extra CRs are now filtered out from the source file for :list.Gintautas Miliauskas2014-10-296-1/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #9367. Reviewers: austin Reviewed By: austin Subscribers: #ghc_windows_task_force, thomie, carter, simonmar Differential Revision: https://phabricator.haskell.org/D382 GHC Trac Issues: #9367
| * Avoid setting -Werror=unused-but-set-variable on Windows.Gintautas Miliauskas2014-10-291-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The option is not needed (it was only intended to override Debian's default) and causes an error if the host ghc's mingw is too old (which the script does not detect). Fixes T9727 Reviewers: austin Reviewed By: austin Subscribers: thomie, carter, simonmar Differential Revision: https://phabricator.haskell.org/D373 GHC Trac Issues: #9727
| * Use snwprintf instead of swprintf in rts/Linker.c.Gintautas Miliauskas2014-10-291-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: swprintf has different signatures in mingw32, where it does not include the buffer size, and in mingw-w64, where it does. That of course breaks the code as mingw-w64 treats the pointer to the format string as a size_t. snwprintf is available in both environments and is consistent, so use that instead. Reviewers: simonmar, austin Reviewed By: austin Subscribers: #ghc_windows_task_force, thomie, carter, simonmar Differential Revision: https://phabricator.haskell.org/D372 GHC Trac Issues: #9726
| * Fix #9236 Error on read from closed handleDavid Feuer2014-10-291-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Fixes #9236. My testing indicates that this does *not* lead to problems with broken pipes and such, but further testing is required. It found a bug in haddock; I've submitted a pull request upstream. Reviewers: ekmett, austin Reviewed By: ekmett, austin Subscribers: rwbarton, thomie, carter, simonmar Differential Revision: https://phabricator.haskell.org/D327 GHC Trac Issues: #9236
| * Convert GHCi sources from .lhs to .hsRodlogic2014-10-297-151/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Signed-off-by: Rodlogic <admin@rodlogic.net> Test Plan: Does it compile? Reviewers: hvr, austin Reviewed By: austin Subscribers: thomie, carter, simonmar Differential Revision: https://phabricator.haskell.org/D319
| * hsc2hs: Update submoduleAustin Seipp2014-10-291-0/+0
| | | | | | | | | | | | | | | | | | This makes sure the --cross-compile mode can handle negative enum values. Differential Revision: https://phabricator.haskell.org/D301 Signed-off-by: Austin Seipp <austin@well-typed.com>
| * Fixed unused variable warning on mingw32/i686 in rts/Linker.cGintautas Miliauskas2014-10-291-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | The warning was breaking validate.sh runs due to -Wall. Reviewers: austin Reviewed By: austin Subscribers: #ghc_windows_task_force, thomie, carter, simonmar Differential Revision: https://phabricator.haskell.org/D400
| * Really fix fft2 regression. #9740David Feuer2014-10-291-14/+20
| | | | | | | | | | | | | | | | | | | | | | Rewrite `take` more aggressively for fusion. Add some more explicit strictness to `unsafeTake` and `unsafeDrop` that seems to help code size and allocation just a drop in some nofib tests. They were not previously strict in their numerical arguments, but always called in contexts where those had been forced; it didn't make a difference in simple test cases, but made a small difference for nofib. See #9740. Differential Revision: https://phabricator.haskell.org/D394
| * Update Haddock submodule for collapsible section supportHerbert Valerio Riedel2014-10-294-5/+5
| | | | | | | | | | This also updates a few occurences of recently added "Example" headings to make use of this new feature for testing
| * Reorder GHC.List; fix performance regressionsDavid Feuer2014-10-291-54/+56
| | | | | | | | | | | | | | | | Rearrange some oddly placed code. Modify `take` to make the fold unconditionally strict in the passed `Int`. This clears up the `fft2` regression. This fixes #9740. Differential Revision: https://phabricator.haskell.org/D390
| * base: Refactor/clean-up *List modulesDavid Feuer2014-10-286-219/+238
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This gets rid of all hand-unboxing in `GHC.List` and moves `Foldable` requirements from `Data.OldList` into `GHC.List` (preparatory work for addressing #9716). Specifically, this moves the definition of `maximum`, `minimum`, `foldl'`, `foldl1`, `foldl1'`, `sum`, and `product` into `GHC.List` (which now needs to import `GHC.Num`) Make `take`, `drop`, `length`, and `!!` generally saner (see also #9510) Performance overall seems minimally affected. Some things go up; some things go down; nothing moves horribly much. The code is much easier to read. Differential Revision: https://phabricator.haskell.org/D380
| * Make iterateFB inlineableJoachim Breitner2014-10-281-1/+2
| | | | | | | | | | | | | | | | When investigating a case of unexpected Call Arity failure I noticed that iterateFB would not inline as far as desired, as it is recursive. This patch makes it non-recursive (with a local go), which seem so do great good.
| * testlib: Get rid of two_normalisersJoachim Breitner2014-10-283-28/+34
| | | | | | | | | | And make normalise_fun polyvariadic. After all, this is untyped code, so lets make use of it :-)
| * Add n-ary version of `two_normalisers` to testsuite libHerbert Valerio Riedel2014-10-282-6/+33
| | | | | | | | This is more readable than nesting `two_normalisers()`-invocations
| * Normalise package key hash to make tests less fragile.Edward Z. Yang2014-10-274-8/+19
| | | | | | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
| * Typo in commentGabor Greif2014-10-281-2/+2
| |
| * Improve performance of isSuffixOf (#9676)David Feuer2014-10-274-4/+122
| | | | | | | | | | | | | | | | | | The new implementation avoids reversing the "haystack" list, which can be very expensive. Reviewed By: ekmett Differential Revision: https://phabricator.haskell.org/D330
| * Deactivate T3064 `max_bytes_used`-checkHerbert Valerio Riedel2014-10-271-21/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: T3064 is deactivated for now because it's currently too volatile and causes too much noise in Phabricator's CI C.f. 4805abf413c02a2ed1af4fbeca2476590e984e37 Reviewers: austin Subscribers: thomie, carter, ezyang, simonmar Differential Revision: https://phabricator.haskell.org/D381
| * Un-wire `Integer` type (re #9714)Herbert Valerio Riedel2014-10-274-80/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Integer is currently a wired-in type for integer-gmp. This requires replicating its inner structure in `TysWiredIn`, which makes it much harder to change Integer to a more complex representation (as e.g. needed for implementing #9281) This commit stops `Integer` being a wired-in type, and makes it known-key type instead, thereby simplifying code notably. Reviewed By: austin Differential Revision: https://phabricator.haskell.org/D351
| * Optimise atomicModifyIORef' implementation (#8345)David Feuer2014-10-271-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | This forces the new value before installing it in the IORef. This optimisation was originally suggested by Patrick Palka and "exhibits a speedup of 1.7x (vanilla RTS) / 1.4x (threaded RTS)" according to #8345 Reviewed By: austin, simonmar Differential Revision: https://phabricator.haskell.org/D315
| * Add new `Data.Bifunctor` module (re #9682)Herbert Valerio Riedel2014-10-263-0/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | This adds the module `Data.Bifunctor` providing the `Bifunctor(bimap,first,second)` class and a couple of instances This module and the class were previously exported by the `bifunctors` package. In contrast to the original module all `INLINE` pragmas have been removed. Reviewed By: ekmett, austin, dolio Differential Revision: https://phabricator.haskell.org/D336
| * testsuite: Fix outdated output for T5979/safePkg01Austin Seipp2014-10-262-6/+6
| | | | | | | | | | | | Looks like it was broken in aa4799534225. Signed-off-by: Austin Seipp <austin@well-typed.com>
| * `M-x delete-trailing-whitespace` & `M-x untabify`Herbert Valerio Riedel2014-10-2511-100/+100
| | | | | | | | This removes all remaining tabs from `base`'s source code
| * Pass in CXX to libffi's configure script.Gintautas Miliauskas2014-10-241-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Reviewers: austin Reviewed By: austin Subscribers: thomie, carter, ezyang, simonmar Differential Revision: https://phabricator.haskell.org/D370 GHC Trac Issues: #9720
| * fix a typo in comments: normaliseFfiTypeYuras Shumovich2014-10-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The function is defined in TcForeign module, but misspelled comment makes it hard to find Reviewers: austin Reviewed By: austin Subscribers: thomie, carter, ezyang, simonmar Differential Revision: https://phabricator.haskell.org/D368
| * Fix windows build failure.Austin Seipp2014-10-241-6/+8
| | | | | | | | | | | | Authored-by: Simon Marlow <marlowsd@gmail.com> Signed-off-by: Austin Seipp <austin@well-typed.com>
| * Implementation of hsig (module signatures), per #9252Edward Z. Yang2014-10-2478-208/+1409
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Module signatures, like hs-boot files, are Haskell modules which omit value definitions and contain only signatures. This patchset implements one particular aspect of module signature, namely compiling them against a concrete implementation. It works like this: when we compile an hsig file, we must be told (via the -sig-of flag) what module this signature is implementing. The signature is compiled into an interface file which reexports precisely the entities mentioned in the signature file. We also verify that the interface is compatible with the implementation. This feature is useful in a few situations: 1. Like explicit import lists, signatures can be used to reduce sensitivity to upstream changes. However, a signature can be defined once and then reused by many modules. 2. Signatures can be used to quickly check if a new upstream version is compatible, by typechecking just the signatures and not the actual modules. 3. A signature can be used to mediate separate modular development, where the signature is used as a placeholder for functionality which is loaded in later. (This is only half useful at the moment, since typechecking against signatures without implementations is not implemented in this patchset.) Unlike hs-boot files, hsig files impose no performance overhead. This patchset punts on the type class instances (and type families) problem: instances simply leak from the implementation to the signature. You can explicitly specify what instances you expect to have, and those will be checked, but you may get more instances than you asked for. Our eventual plan is to allow hiding instances, but to consider all transitively reachable instances when considering overlap and soundness. ToDo: signature merging: when a module is provided by multiple signatures for the same base implementation, we should not consider this ambiguous. ToDo: at the moment, signatures do not constitute use-sites, so if you write a signature for a deprecated function, you won't get a warning when you compile the signature. Future work: The ability to feed in shaping information so that we can take advantage of more type equalities than might be immediately evident. Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> Test Plan: validate and new tests Reviewers: simonpj, simonmar, hvr, austin Subscribers: simonmar, relrod, ezyang, carter, goldfire Differential Revision: https://phabricator.haskell.org/D130 GHC Trac Issues: #9252
| * Check in up-to-date PDF copies of Backpack docs. [skip ci]Edward Z. Yang2014-10-232-0/+0
| | | | | | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
| * More updates to Backpack manual [skip ci]Edward Z. Yang2014-10-231-147/+112
| | | | | | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
| * Fix a rare parallel GC bugSimon Marlow2014-10-231-1/+6
| | | | | | | | | | | | | | | | | | When there's a conflict between two threads evacuating the same TSO, in some cases we would update the incall->tso pointer to point to the wrong copy of the TSO. This would get fixed during the next GC, but if the thread completed in the meantime, it would likely crash. We're seeing this about once per day on a heavily loaded machine (it varies a lot though).
| * Add forgotten import to T9692Joachim Breitner2014-10-221-0/+1
| | | | | | | | (sorry)
| * Flush stdout in T9692Joachim Breitner2014-10-221-0/+1
| |
| * base: Mark WCsubst.c as generated for PhabricatorAustin Seipp2014-10-212-0/+2
| | | | | | | | Signed-off-by: Austin Seipp <austin@well-typed.com>
| * rts: Detabify Interpreter.cAustin Seipp2014-10-211-872/+872
| | | | | | | | Signed-off-by: Austin Seipp <austin@well-typed.com>
| * [skip ci] rts: Detabify Schedule.cAustin Seipp2014-10-211-443/+443
| | | | | | | | Signed-off-by: Austin Seipp <austin@well-typed.com>
| * [skip ci] rts: Detabify ProfHeap.cAustin Seipp2014-10-211-451/+450
| | | | | | | | Signed-off-by: Austin Seipp <austin@well-typed.com>
| * [skip ci] rts: Detabify RetainerProfile.cAustin Seipp2014-10-211-813/+813
| | | | | | | | Signed-off-by: Austin Seipp <austin@well-typed.com>
| * [skip ci] rts: Detabify sm/Compact.hAustin Seipp2014-10-211-9/+9
| | | | | | | | Signed-off-by: Austin Seipp <austin@well-typed.com>
| * [skip ci] rts: Detabify sm/Compact.cAustin Seipp2014-10-211-343/+343
| | | | | | | | Signed-off-by: Austin Seipp <austin@well-typed.com>
| * [skip ci] rts: Detabify sm/Sanity.cAustin Seipp2014-10-211-165/+165
| | | | | | | | Signed-off-by: Austin Seipp <austin@well-typed.com>
| * [skip ci] rts: Detabify sm/GC.cAustin Seipp2014-10-211-164/+164
| | | | | | | | Signed-off-by: Austin Seipp <austin@well-typed.com>
| * [skip ci] rts: Detabify RaiseAsync.cAustin Seipp2014-10-211-229/+227
| | | | | | | | Signed-off-by: Austin Seipp <austin@well-typed.com>
| * [skip ci] rts: Detabify Capability.cAustin Seipp2014-10-211-148/+148
| | | | | | | | Signed-off-by: Austin Seipp <austin@well-typed.com>
| * [skip ci] rts: Detabify HeapStackCheck.cmmAustin Seipp2014-10-211-37/+37
| | | | | | | | Signed-off-by: Austin Seipp <austin@well-typed.com>
| * [skip ci] rts: Detabify Exception.cmmAustin Seipp2014-10-211-45/+45
| | | | | | | | Signed-off-by: Austin Seipp <austin@well-typed.com>
| * [skip ci] rts: Detabify Proftimer.cAustin Seipp2014-10-211-6/+6
| | | | | | | | Signed-off-by: Austin Seipp <austin@well-typed.com>
| * [skip ci] rts: Detabify LdvProfile.hAustin Seipp2014-10-211-7/+7
| | | | | | | | Signed-off-by: Austin Seipp <austin@well-typed.com>
| * [skip ci] rts: Detabify Schedule.hAustin Seipp2014-10-211-12/+11
| | | | | | | | Signed-off-by: Austin Seipp <austin@well-typed.com>