summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Give seq a more precise type and remove magicwip/T17440Ben Gamari2019-11-1711-170/+142
| | | | | | | | | | | | | | | | | | | | | `GHC.Prim.seq` previously had the rather plain type: seq :: forall a b. a -> b -> b However, it also had a special typing rule to applications where `b` is not of kind `Type`. Issue #17440 noted that levity polymorphism allows us to rather give it the more precise type: seq :: forall (r :: RuntimeRep) a (b :: TYPE r). a -> b -> b This allows us to remove the special typing rule that we previously required to allow applications on unlifted arguments. T9404 contains a non-Type application of `seq` which should verify that this works as expected. Closes #17440.
* desugar: Drop stale Note [Matching seqId]Ben Gamari2019-11-171-6/+0
| | | | | The need for this note vanished in eae703aa60f41fd232be5478e196b661839ec3de.
* exceptions: Bump submodule back to masterBen Gamari2019-11-171-0/+0
| | | | The previous commit hasn't made it to master yet.
* users-guide: Address #17329Ben Gamari2019-11-171-7/+7
| | | | Adopts the language suggested by @JakobBruenker.
* Make test 16916 more stable across runsIvan Kasatenko2019-11-171-2/+2
|
* testsuite: Don't collect residency for T4801Ben Gamari2019-11-171-1/+0
| | | | | | I previously increased the size of the acceptance window from 2% to 5% but this still isn't enough. Regardless, measuring bytes allocated should be sufficient to catch any regressions.
* Bump version to 8.10.0Ben Gamari2019-11-173-1/+1
| | | | Bumps haddock submodule.
* gitlab-ci: Fix submodule linterBen Gamari2019-11-171-2/+2
| | | | | We ran it against the .git directory despite the fact that the linter wants to be run against the repository.
* users-guide: Drop 8.6.1 release notesBen Gamari2019-11-152-293/+0
|
* testsuite: Increase acceptance window of T4801Ben Gamari2019-11-151-1/+1
| | | | This statistic is rather unstable. Hopefully fixes #17475.
* llvm-targets: Update with Clang 9wip/llvm9Ben Gamari2019-11-151-23/+23
|
* Bump supported LLVM version to 9.0Ben Gamari2019-11-152-2/+2
|
* gitlab-ci: Install process to global pkgdb before starting buildBen Gamari2019-11-151-0/+2
| | | | | This is an attempt to mitigate #17480 by ensuring that a functional version of the process library is available before attempting the build.
* gitlab-ci: Allow Windows to fail againBen Gamari2019-11-141-0/+1
|
* base: Bump version to 4.14.0.0Ben Gamari2019-11-1431-25/+22
| | | | | Metric Increase: T4801
* Bump Haskeline and add exceptions as boot libraryBen Gamari2019-11-139-21/+61
| | | | Haskeline now depends upon exceptions. See #16752.
* Only pass mod_location with HscRecomp instead of the entire ModSummaryÖmer Sinan Ağacan2019-11-133-15/+12
| | | | | | | | HscRecomp users only need the ModLocation of the module being compiled, so only pass that to users instead of the entire ModSummary Metric Decrease: T4801
* Print name prefixly in the Outputable instance for StandaloneKindSigRyan Scott2019-11-134-1/+20
| | | | | | | | | Issue #17461 was occurring because the `Outputable` instance for standalone kind signatures was simply calling `ppr` on the name in the kind signature, which does not add parentheses to infix names. The solution is simple: use `pprPrefixOcc` instead. Fixes #17461.
* users guide: Fix broken linkBen Gamari2019-11-131-1/+5
|
* testsuite: Add test for #17458Ben Gamari2019-11-133-0/+59
| | | | | | As noted in #17458, QuantifiedConstraints and UndecideableInstances could previously be used to write programs which can loop at runtime. This was fixed in !1870.
* hadrian: fix Windows CI scriptAlp Mestanogullari2019-11-131-3/+2
| | | | By only using 'export' from within bash commands.
* Ensure that coreView/tcView are able to inlineBen Gamari2019-11-1340-246/+224
| | | | | | | | | | | | | | | | | | | | Previously an import cycle between Type and TyCoRep meant that several functions in TyCoRep ended up SOURCE import coreView. This is quite unfortunate as coreView is intended to be fused into a larger pattern match and not incur an extra call. Fix this with a bit of restructuring: * Move the functions in `TyCoRep` which depend upon things in `Type` into `Type` * Fold contents of `Kind` into `Type` and turn `Kind` into a simple wrapper re-exporting kind-ish things from `Type` * Clean up the redundant imports that popped up as a result Closes #17441. Metric Decrease: T4334
* Document CmmTopInfo typeÖmer Sinan Ağacan2019-11-131-0/+2
| | | | [ci skip]
* testsuite: don't collect compiler stats in collect_runtime_residencyAlp Mestanogullari2019-11-121-1/+1
| | | | | | | | | | | | | | | | | | | We instead want to collect the runtime stats (with collect_stats, instead of collect_compiler_stats). This should fix a number of perf tests failures we have been seeing, where we suddenly started measuring metrics we didn't intend to measure, which tend to fall outside of the acceptance window. Metric Decrease: lazy-bs-alloc T3586 Metric Increase: space_leak_001 T4801 T5835 T12791
* ci: push perf test metrics even when the testsuite doesn't passAlp Mestanogullari2019-11-111-1/+1
| | | | | | | | | | | | | | | | The corresponding commit might introduce a regression on a perf test, in which case we certainly want to record it. The testsuite might also fail because of a test unrelated to performance, in which case we want to record that the perf test results were good. Either way, we likely want to record them under all circumstances but we don't without this patch. Metric Decrease: T3586 Metric Increase: lazy-bs-alloc
* testsuite: Disable T4334 in nonmoving_thr waywip/alp/hadrian-ci-metricsfileBen Gamari2019-11-111-2/+3
|
* hadrian: export METRICS_FILE to make it accessible to perf notes scriptAlp Mestanogullari2019-11-112-5/+4
| | | | | This addresses #17456 and also fixes the --metrics-file argument that Hadrian passes to the testsuite driver.
* testsuite: Don't check_stats at runtime if not requestedwip/T17387Ben Gamari2019-11-101-4/+9
| | | | | | Previously we would call check_stats to check the runtime metrics even if the test definition hadn't requested it. This would result in an error since the .stats file doesn't exist.
* testsuite: Use small allocation area when measuring residencyBen Gamari2019-11-105-83/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | As suggested in #17387; this helps reduce the variance in our residency sampling. Metric Increase: T10370 T3586 lazy-bs-alloc Metric Decrease 'compile_time/peak_megabytes_allocated': T1969 Metric Decrease 'runtime/bytes allocated': space_leak_001 Metric Increase 'compile_time/bytes allocated': T1969 Metric Increase 'runtime/peak_megabytes_allocated': space_leak_001 Metric Decrease: T3064 T9675
* testsuite: Mark tests fragile in threaded2 as fragile in all concurrent waysBen Gamari2019-11-106-4/+4
|
* Fix #17405 by not checking imported equationsRichard Eisenberg2019-11-1017-177/+241
| | | | | | | | | | | | | Previously, we checked all imported type family equations for injectivity. This is very silly. Now, we check only for conflicts. Before I could even imagine doing the fix, I needed to untangle several functions that were (in my opinion) overly complicated. It's still not quite as perfect as I'd like, but it's good enough for now. Test case: typecheck/should_compile/T17405
* Update release notes about #16512 / #17405.Richard Eisenberg2019-11-101-0/+12
|
* Improve SPECIALIZE pragma error messages (Fixes #12126)Alina Banerjee2019-11-106-8/+10
|
* Fix incorrect pluralsBrian Wignall2019-11-091-1/+1
|
* Incorporate MR review suggestions; add change in changelogBrian Wignall2019-11-092-3/+6
|
* Add IsList instance for ZipList (closes #17433)ghc-8.11-startBrian Wignall2019-11-091-1/+9
|
* Use the right type in :forceSimon Peyton Jones2019-11-095-3/+31
| | | | | | | | A missing prime meant that we were considering the wrong type in the GHCi debugger, when doing :force on multiple arguments (issue #17431). The fix is trivial.
* testsuite: Mark T16219 as fragile on WindowsBen Gamari2019-11-091-1/+2
| | | | | | As noted in #17452, this test produces very long file paths which exceed the Windows MAX_PATH limitation. Mark the test as fragile for not until we can come up with a better solution.
* testsuite: Drop T7995Ben Gamari2019-11-093-12/+0
| | | | | | | | | | | This test is quite sensitive to the build configuration as it requires that ghc have unfoldings, which isn't true in the quick build flavours. I considered various options to make the test more robust but none of them seemed particularly appealing. Moreover, Simon PJ was a bit skeptical of the value of the test to begin with and I strongly suspect that any regression in #7995 would be accompanied by failures in our other compiler performance tests. Closes #17399.
* testsuite: Fix putStrLn in saks028Ben Gamari2019-11-091-1/+2
| | | | | | | | | | | | | | | | | Bizarrely, `saks028` previously failed reliably, but only on Windows (#17450). The test would exit with a zero exit code but simply didn't emit the expected text to stderr. I believe this was due to the fact that the test used `putStrLn`, resulting in the output ending up on stdout. This worked on other platforms since (apparently) we redirect stdout to stderr when evaluating splices. However, on Windows it seems that the redirected output wasn't flushed as it was on other platforms. Anyways, it seems like the right thing to do here is to be explicit about our desire for the output to end up on stderr. Closes #17450.
* testsuite: Ignore stderr in PartialDownsweepBen Gamari2019-11-093-35/+1
| | | | | | | | | As described in #17449, PartialDownsweep is currently fragile due to its dependence on the error messages produced by the C preprocessor. To eliminate this dependence we simply ignore stderr output, instead relying on the fact that the test will exit with a non-zero exit code on failure. Fixes #17449.
* testsuite: Mark T17414 as fragile on WindowsBen Gamari2019-11-091-1/+5
| | | | | | This consistently times out on Windows as described in #17453. I have tried increasing the timeout multiplier to two yet it stills fails. Disabling until we have time to investigate.
* testsuite: Remove redundant cleaning logic from T16511Ben Gamari2019-11-091-3/+0
| | | | | | | | | | | | The GHCi script for T16511 had some `rm` commands to clean up output from previous runs. This should be harmless since stderr was redirected to /dev/null; however, it seems that this redirection doesn't work on Windows (perhaps because GHCi uses `cmd` to execute the command-line; I'm not sure). I tried to fix it but was unable to find a sensible solution. Regardless, the cleaning logic is quite redundant now that we run each test in a hermetic environment. Let's just remove it.
* testsuite: Mark T16219 as unbrokenBen Gamari2019-11-091-2/+1
| | | | This was previously broken due to #16386 yet it passes for me locally.
* testsuite: Mark T11627b as fragileBen Gamari2019-11-091-2/+1
| | | | | It was previously marked as broken due to #12236 however it passes for me locally while failing on CI.
* testsuite: Mark T13676 as broken on Darwin and WindowsBen Gamari2019-11-091-2/+3
| | | | Due to #17447.
* testsuite: Fix header #include order on WindowsBen Gamari2019-11-091-2/+3
| | | | <Rts.h> must always come first.
* gitlab-ci: Don't allow Windows make job to failBen Gamari2019-11-091-2/+0
| | | | | | While linking is still slow (#16084) all of the correctness issues which were preventing us from being able to enforce testsuite-green on Windows are now resolved.
* testsuite: Skip T14931 on WindowsBen Gamari2019-11-091-1/+3
| | | | This test uses -dynamic-too, which is not supported on Windows.
* testsuite: Skip T16916 on WindowsBen Gamari2019-11-091-1/+2
| | | | The event manager is not supported on Windows.