| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| | |
This also updates a few occurences of recently added "Example"
headings to make use of this new feature for testing
|
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| | |
And make normalise_fun polyvariadic. After all, this is untyped code, so
lets make use of it :-)
|
| |
| |
| |
| | |
This is more readable than nesting `two_normalisers()`-invocations
|
| |
| |
| |
| | |
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The new implementation avoids reversing the "haystack" list, which can be
very expensive.
Reviewed By: ekmett
Differential Revision: https://phabricator.haskell.org/D330
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| | |
Looks like it was broken in aa4799534225.
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
| |
| |
| |
| | |
This removes all remaining tabs from `base`'s source code
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Reviewers: austin
Reviewed By: austin
Subscribers: thomie, carter, ezyang, simonmar
Differential Revision: https://phabricator.haskell.org/D370
GHC Trac Issues: #9720
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| | |
Authored-by: Simon Marlow <marlowsd@gmail.com>
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| | |
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
|
| |
| |
| |
| | |
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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).
|
| |
| |
| |
| | |
(sorry)
|
| | |
|
| |
| |
| |
| | |
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
| |
| |
| |
| | |
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
| |
| |
| |
| | |
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
| |
| |
| |
| | |
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
| |
| |
| |
| | |
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
| |
| |
| |
| | |
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
| |
| |
| |
| | |
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
| |
| |
| |
| | |
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
| |
| |
| |
| | |
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
| |
| |
| |
| | |
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
| |
| |
| |
| | |
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
| |
| |
| |
| | |
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
| |
| |
| |
| | |
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
| |
| |
| |
| | |
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
| |
| |
| |
| | |
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
| |
| |
| |
| | |
Signed-off-by: Austin Seipp <austin@well-typed.com>
|