summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* PPC NCG: Fix signed 64-bit compare on 32-bitwip/T16094Peter Trommler2018-12-281-17/+39
|
* PPC NCG: Simple 64-bit condition code on 32-bitPeter Trommler2018-12-281-4/+27
| | | | Fixes #16094.
* arith011 is no longer broken with integer-simpleAlec Theriault2018-12-271-3/+1
|
* Division fails fast for `divMod` \w integer-simpleAlec Theriault2018-12-271-16/+20
| | | | | | | | | | | | | We want to match the behaviour of `Integer` as well as `Integer`/`Natural` from `integer-gmp`, namely to have divMod x 0 = _|_ not divMod x 0 = (_|_, _|_) See #16091 for an example of where this matters.
* aclocal.m4: drop obsolete -fno-stack-protectorSergei Trofimovich2018-12-261-9/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Initially -fno-stack-protector was added for openbsd specifically for ghc-6.5: changeset:f638fdfe1d9de1307355c8074fbff9c28342c0ef (2006) and later it was extended to cover osx: changeset:c2cd83e7d85c11e6a33e1cde263eb2312566d535 (2009) None of the reports hint at exact breakage. I guess both happened in -fvia-C mode where GHC's Evil Mangler had a chance to mangle stack canaries generated by fstack-protector. ghc has no evil mangler anymore and the change is not needed at least for C codegen. validated the patch on OpenBSD-6.4. No new failures compared to clean master branch. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> Test Plan: validated on OpenBSD Reviewers: bgamari Subscribers: rwbarton, erikd, carter GHC Trac Issues: #16046 Differential Revision: https://phabricator.haskell.org/D5465
* gitlab-ci: Try only building Windows in the quick flavourBen Gamari2018-12-251-0/+1
| | | | | | It seems no matter how many machines I throw at Windows it's constantly behind. Perhaps the quick build flavour will be fast enough to allow us to keep until while we sort out our toolchain issues (#16084).
* gitlab-ci: Allow Windows to fail for nowBen Gamari2018-12-251-2/+4
| | | | While we sort out #16084.
* gitlab-ci: Require that integer-simple configuration passesBen Gamari2018-12-251-2/+1
| | | | The last step of #15915.
* rts: Turn ASSERT in LDV_recordDead into a normal ifBen Gamari2018-12-251-1/+3
| | | | | | | | As reported in #15382 the `ASSERT(ctr != NULL)` is currently getting routinely hit during testsuite runs. While this is certainly a bug I would far prefer getting a proper error message than a segmentation fault. Consequently I'm turning the `ASSERT` into a proper `if` so we get a proper error in non-debug builds.
* testsuite: Skip ffi018_ghci when unregisterisedBen Gamari2018-12-251-1/+3
| | | | As noted in #16085 this test is fragile in unregisterised compilers.
* gitlab-ci: Clean tree on Windows after jobBen Gamari2018-12-241-0/+1
| | | | | It seems like currently the runner doesn't delete the working tree after finishing a job. At least we can delete the binary artifacts for now.
* gitlab-ci: Use robocopy instead of bash to copy cabal cacheBen Gamari2018-12-241-1/+1
|
* gitlab-ci: Use per-build temporary directory on WindowsBen Gamari2018-12-241-3/+12
| | | | | | | I have seen several instances of inexplicable "Access denied" errors on Windows. Using per-build temporary directories avoids any chance of interference between builds and eliminates the possibility of temporary files leaking beyond the life of the build.
* Revert "hadrian: Pass integer_backend to testsuite driver"Ben Gamari2018-12-241-2/+0
| | | | This reverts commit 442be690e1ca162e22d632df695c29f90625f33e.
* testsuite: Fix a variety of issues when building with integer-simpleBen Gamari2018-12-2410-24/+33
| | | | | | | | | | | | | | | | | | | | | | | | | * Mark arith011 as broken with integer-simple As noted in #16091, arith011 fails when run against integer-simple with a "divide by zero" exception. This suggests that integer-gmp and integer-simple are handling division by zero differently. * This also fixes broken_without_gmp; the lack of types made the previous failure silent, sadly. Improves situation of #16043. * Mark several tests implicitly depending upon integer-gmp as broken with integer-simple. These expect to see Core coming from integer-gmp, which breaks with integer-simple. * Increase runtime timeout multiplier of T11627a with integer-simple I previously saw that T11627a timed out in all profiling ways when run against integer-simple. I suspect this is due to integer-simple's rather verbose heap representation. Let's see whether increasing the runtime timeout helps. Fixes test for #11627. This is all in service of fixing #16043.
* testsuite: Enable T11627a on DarwinBen Gamari2018-12-241-3/+0
| | | | | | The retainer profiler no longer uses the C stack for its mark stack (#14758). Consequently even the small C stack provided on Darwin should be sufficient to run this test. See #11627
* ghc-compact: Use Char instead of Integer in compact_share testBen Gamari2018-12-243-10/+11
| | | | | The representation of Integer depends upon the choice of integer backend whereas Char should be consistent.
* Simplify Core output with -dsuppress-type-signaturesÖmer Sinan Ağacan2018-12-243-5/+7
| | | | | | | | | | | | | | | | | | | | | | | Currently we duplicate top-level binder ids for no reason: $fEqHsExpr_$c/= $fEqHsExpr_$c/= = \ @ id_a27U $dEq_a27V eta_B2 eta1_B1 -> case $fEqHsExpr_$c== $dEq_a27V eta_B2 eta1_B1 of { False -> True; True -> False } with this patch we drop the first line when type signatures are not printed (-dsuppress-type-signatures, which is implied by -dsuppress-all) Reviewers: simonpj, bgamari Reviewed By: simonpj Subscribers: rwbarton, carter Differential Revision: https://phabricator.haskell.org/D5472
* testsuite: Mark th tests as broken in ext-interp way in LLVM build flavoursBen Gamari2018-12-243-0/+13
| | | | | | | This is due to the failures documented in #16087. The condition here could be improved as it matches on `BUILD_FLAVOUR` instead of looking at the compiler flags. However, it's better than nothing and I hope we will be able to fix these issues before long.
* gitlab-ci: Disable CircleCI Darwin buildsBen Gamari2018-12-231-1/+1
| | | | They aren't finishing correctly anyways.
* Revert "testsuite: Fix broken_without_gmp"Ben Gamari2018-12-231-4/+5
| | | | | | | This reverts commit e59439af3222d151918ad1ad2a03942ce9e6a1ff. This is causing unexpected failures in some test ways. Further proof that no change is too trivial for CI.
* testsuite: Fix broken_without_gmpBen Gamari2018-12-231-5/+4
| | | | | The lack of types made the previous failure silent, sadly. Improves situation of #16043.
* testsuite: Mark heapprof001 as broken in prof_hc_hb way on i386Ben Gamari2018-12-221-1/+3
| | | | | | As documented in #15382, this is known to fail in prof_hc_hb on i386. Concerningly, I have also seen this test non-deterministically fail in prof_hc_hb on amd64. We should really investigate this.
* testsuite: Mark objcpp-hi and T13366 as broken on Darwin due to #16083Ben Gamari2018-12-222-1/+5
|
* testsuite: Remove expect_broken on readFail032 and readFail048Ben Gamari2018-12-221-4/+6
| | | | | | | | As noted in #15662, these used to be broken on Darwin due to a Clang toolchain bug. However, this bug appears to be fixed in the Clang shipped with macOS Mojave. Unfortunately, we don't really have any way to only mark it as broken on certain operation system releases so I am just removing the expect_broken entirely.
* gitlab-ci: Allow Darwin CircleCI build to failBen Gamari2018-12-221-0/+1
| | | | | This is currently spuriously failing. Moreover, we have the Mac Mini builder running again so this is much less necessary now.
* Add test for #16038Ömer Sinan Ağacan2018-12-226-0/+44
|
* linters: Check for WARN macro with space separating it from its parenBen Gamari2018-12-221-0/+2
|
* LoadIface: Fix another CPP/Clang issueBen Gamari2018-12-221-1/+1
|
* gitlab-ci: Fix Darwin buildBen Gamari2018-12-212-2/+8
| | | | Previously the toolchain directory was wiped away by git clean.
* gitlab-ci: Only run nightly-i386-linux-deb9 when NIGHTLY is setBen Gamari2018-12-211-0/+3
|
* gitlab-ci: More aggressive cleaningBen Gamari2018-12-211-2/+3
|
* gitlab-ci: Only run CircleCI Darwin build in full-build stageBen Gamari2018-12-211-0/+1
|
* TcRnDriver: Fix haddock-like commentBen Gamari2018-12-211-6/+6
|
* gitlab-ci: Add i386 Debian 9 buildsD5440Ben Gamari2018-12-211-0/+24
|
* gitlab-ci: Ensure that build environment is cleanBen Gamari2018-12-211-1/+3
|
* gitlab-ci: Set localeBen Gamari2018-12-211-0/+2
|
* gitlab-ci: Set thread count properly on WindowsBen Gamari2018-12-211-2/+2
|
* gitlab-ci: Tag linter stageBen Gamari2018-12-211-0/+14
| | | | | | | Previously the linters were tagged with x86_64-linux, meaning that linting jobs would often get stuck behind builds in the queue. Given that linting jobs are fairly low-cost they hold up later build stages it is important that we reduce this latency.
* gitlab-ci: Fix Windows buildBen Gamari2018-12-211-18/+20
|
* gitlab-ci: Remove CircleCI configurationBen Gamari2018-12-211-12/+0
| | | | Our CircleCI builds will fail anyways without large instances.
* CircleCI: Fix check for git push retry limit.David Eichmann2018-12-211-2/+2
| | | | | | | | | | | | Test Plan: Observe CircleCI Reviewers: bgamari Reviewed By: bgamari Subscribers: rwbarton, carter Differential Revision: https://phabricator.haskell.org/D5464
* gitlab-ci: Allow Hadrian build on Windows to failBen Gamari2018-12-211-0/+2
| | | | Due to #16073.
* remove optionGabor Greif2018-12-211-1/+0
|
* Revert "gitlab: Drop submodules hack"Ben Gamari2018-12-212-2/+28
| | | | | | | It turns out that the submodules hack is useful to ensure that CI works in forks. This reverts commit 90ceafa8b9ad60e3c7b72cdd2dacdbeb96bdcddc.
* Improve documention of TypeInTypeSimon Peyton Jones2018-12-211-2/+3
|
* Fix treatment of hi-boot files and dfunsSimon Peyton Jones2018-12-215-198/+257
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Trac #16038 exposed the fact that TcRnDriver.checkHiBootIface was creating a binding, in the module being compiled, for $fxBlah = $fBlah but $fxBlah was a /GlobalId/. But all bindings should be for /LocalIds/ else dependency analysis goes down the tubes. * I added a CoreLint check that an occurrence of a GlobalId is not bound by an binding of a LocalId. (There is already a binding-site check that no binding binds a GlobalId.) * I refactored (and actually signficantly simplified) the tricky code for dfuns in checkHiBootIface to ensure that we get LocalIds for those boot-dfuns. Alas, I then got "duplicate instance" messages when compiling HsExpr. It turns out that this is a long-standing, but extremely delicate, bug: even before this patch, if you compile HsExpr with -ddump-tc-trace, you get "duplicate instance". Without -ddump-tc-trace, it's OK. What a mess! The reason for the duplicate-instance is now explained in Note [Loading your own hi-boot file] in LoadIface. I fixed it by a Gross Hack in LoadIface.loadInterface. This is at least no worse than before. But there should be a better way. I have opened #16081 for this.
* Tiny refactor to tcExtendRecEnvSimon Peyton Jones2018-12-211-2/+7
| | | | | | | | | In tcExtendRecEnv, there is no need to us setGlobalTypeEnv (which side-effects the tcg_type_env_var). tcExtendRecEnv is used only when kind-checking a group of type/class decls and no knot-tying via tcg_type_env_var is needed. There is no change in functionality.
* Comments onlySimon Peyton Jones2018-12-212-11/+17
|
* Make candidateQTvs contain tyvar with zonked kindsSimon Peyton Jones2018-12-214-68/+109
| | | | | | | | | | | candidateQTyVars was failing to return fully-zonked tyvars, and that made things fall over chaotically when we try to sort them into a well-scoped telescope. Result: Trac #15795 So I made candidateQTvs guarantee to have fully-zonked tyvars (i.e. with zonked kinds). That's a bit annoying but not really difficult.