summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* gitlab: Don't use /tmp in win32-initwip/misc-testsuiteBen Gamari2019-01-091-2/+3
| | | | To avoid coupling between multiple builds.
* testsuite: Allow application of a global timeout multiplierBen Gamari2019-01-093-2/+9
| | | | | | | | | As noted in #16156, many tests fail on Windows with timeouts. I believe this is because we tend to underestimate the timeout on Windows, which seems to slow severely under load. Work around this by introducing a global timeout multiplier. Note that this doesn't yet add support for the multiplier in Hadrian.
* testsuite: Print timeout duration on timeout failureBen Gamari2019-01-091-1/+1
|
* Be pickier about unsaturated synonyms in :kindRyan Scott2019-01-087-11/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: We currently permit any and all uses of unsaturated type synonyms and type families in GHCi's `:kind` command, which allows strange interactions like this one: ``` > :set -XTypeFamilies -XPolyKinds > type family Id (a :: k) > type instance Id a = a > type Foo x = Maybe > :kind! Id Foo ``` This is probably a stretch too far, so this patch moves to disallow unsaturated synonyms that aren't at the top level (we still want to allow `:kind Id`, for instance). We do this by augmenting `GhciCtxt` with an additional `Bool` field to indicate if we are at the outermost level of the type being passed to `:kind` or not. See `Note [Unsaturated type synonyms in GHCi]` in `TcValidity` for the full story. Test Plan: make test TEST=T16013 Reviewers: goldfire, bgamari Reviewed By: goldfire Subscribers: simonpj, goldfire, rwbarton, carter GHC Trac Issues: #16013 Differential Revision: https://phabricator.haskell.org/D5471
* Check that libs found by GCC aren't foldersAlec Theriault2019-01-071-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: We use 'gcc -B<base-location> --print-file-name mylib.a' as a way of checking if 'gcc' can discover 'mylib.a' at the given location. However, this can break down if there is a folder caller 'mylib.a' that 'gcc' can discover. We can guard against this by explicitly checking that the path returned by 'gcc' is a file. This may seem like a far-fetched scenario, but since 3d17f1f10fc00540ac052f2fd03182906aa47e35, we look for libraries without any prefix or suffix (ie. 'extra-libraries: softfloat', we look for just 'softfloat' as well as 'softloat.a', 'softfloat.dll.a', etc.) which means that there might actusally be a folder of that name in one of the base locations. Reviewers: Phyx, bgamari, hvr, angerman Reviewed By: Phyx, angerman Subscribers: angerman, rwbarton, carter GHC Trac Issues: #16063 Differential Revision: https://phabricator.haskell.org/D5462
* fix-submodules: Rip out typingBen Gamari2019-01-071-3/+2
| | | | Debian Jessie only runs Python 3.4, whereas typing was introduced in Python 3.5.
* gitlab-ci: Clone haddock from its upstream repositoryBen Gamari2019-01-072-2/+48
| | | | This ensures that changes requiring haddock changes can be built under CI.
* Hadrian: merge sections in profiling _p.a to .p_o for ghciZejun Wu2019-01-064-12/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the hadrain version of {D5169} * We build squashed .o and .p_o for ghci when `dynamicGhcPrograms` is `False` * We no longer build them for rts as ghci never loads it we need https://github.com/haskell/cabal/pull/5592 for cabal to copy the built `.p_o` file. Test Plan: ``` $ grep dynamicGhc hadrian/UserSettings.hs , dynamicGhcPrograms = return False $ touch ... $ hadrian/build.sh --flavour=user -j --digest-or $ find _build/stage1/libraries/ -name 'HS*-*.*o' | wc 62 62 3664 ``` ``` $ grep -C3 dynamicGhc hadrian/UserSettings.hs userFlavour :: Flavour userFlavour = performanceFlavour { name = "user" , dynamicGhcPrograms = return False } $ hadrian/build.sh -j --flavour=user test --verbose Unexpected results from: TEST="T3807 T9208 T9293 annth_make ghci057 haddock.Cabal haddock.base haddock.compiler" SUMMARY for test run started at Wed Dec 5 17:45:39 2018 PST 0:03:16 spent to go through 6708 total tests, which gave rise to 26015 test cases, of which 19290 were skipped 29 had missing libraries 6600 expected passes 88 expected failures 3 caused framework failures 0 caused framework warnings 1 unexpected passes 7 unexpected failures 0 unexpected stat failures $ find _build -name 'HSbase*.*o' _build/stage1/lib/x86_64-linux-ghc-8.7.20181204/base-4.12.0.0/HSbase-4.1 2.0.0.o _build/stage1/lib/x86_64-linux-ghc-8.7.20181204/base-4.12.0.0/HSbase-4.1 2.0.0.p_o _build/stage1/libraries/base/build/HSbase-4.12.0.0.o _build/stage1/libraries/base/build/HSbase-4.12.0.0.p_o ``` Reviewers: bgamari, simonmar, snowleopard Reviewed By: snowleopard Subscribers: alpmestan, rwbarton, carter GHC Trac Issues: #15779 Differential Revision: https://phabricator.haskell.org/D5270
* Fix #16133 by checking for TypeApplications in rnExprRyan Scott2019-01-067-9/+38
|
* Fix bindist for ghci libraryZejun Wu2019-01-062-6/+9
| | | | | | | | | | | | | | | | | | | | Summary: https://phabricator.haskell.org/D5169 built libghci for both vanilla way and profiling way. We need to include both in the bindist list so they will be installed. Test Plan: ``` $ grep '^BuildFlavour' mk/build.mk BuildFlavour=perf $ make test_bindist $ grep HSghc-prim bindist-list.uniq ghc-8.7.20190101/libraries/ghc-prim/dist-install/build/HSghc-prim-0.5.3.o ghc-8.7.20190101/libraries/ghc-prim/dist-install/build/HSghc-prim-0.5.3.p_o ghc-8.7.20190101/libraries/ghc-prim/dist-install/build/libHSghc-prim-0.5.3.a ghc-8.7.20190101/libraries/ghc-prim/dist-install/build/libHSghc-prim-0.5.3-ghc8.7.20190101.so ghc-8.7.20190101/libraries/ghc-prim/dist-install/build/libHSghc-prim-0.5.3_p.a ```
* make: Silence some xelatex outputBen Gamari2019-01-061-4/+9
| | | | | | | | | | Currently build logs from GitLab CI around around 7 megabytes each. Of this, around 2 megabytes is latex output. This is quite silly as essentially all of this output is unresolved references in the early latex iterations. Here we silence this output. However, to make sure that we don't silence errors we allow each xelatex invocation besides the last to fail.
* Remove OPTIONS_HADDOCK hide in favour for not-homeAdam Sandberg Eriksson2019-01-0649-49/+49
| | | | GHC Trac Issues: #15447
* gitlab-ci: Try reenabling PDF documentation on DarwinBen Gamari2019-01-061-2/+0
| | | | Carter says that the builder issues have now been sorted.
* Add entry for #16031 to base/changelog.mdSven Tennie2019-01-061-0/+5
|
* Fix precedence handling for Data.Fixed's Show instance (#16031)Sven Tennie2019-01-063-1/+9
| | | | | Use `showsPrec` instead of `show` to respect the precedence of the surrounding context.
* Add -Wmissing-deriving-strategieschessai2019-01-0613-1/+96
| | | | | | | | | | | | | | | Warn users when -XDerivingStrategies is enabled but not used, at each potential use site. add -Wmissing-deriving-strategies Reviewers: bgamari, RyanGlScott Subscribers: andrewthad, rwbarton, carter GHC Trac Issues: #15798 Differential Revision: https://phabricator.haskell.org/D5451
* Respect prompt in GhciSettingsZejun Wu2019-01-061-2/+2
| | | | | | | | Summary: This was broken when PromptFunction was introduced that the settings are ignored and default values are always used. Test Plan: ./validate
* Fix broken links (#16125)Sven Tennie2019-01-051-6/+7
|
* Dump Cmm with -ddump-cmm when building .cmm filesÖmer Sinan Ağacan2019-01-051-0/+1
| | | | Fixes #16131
* Mark GHC.Maybe as not-home for haddockSimon Jakobi2019-01-041-0/+1
| | | | | Previously haddock would link 'Maybe' to GHC.Maybe. Now it links to Data.Maybe.
* Fix some typos, etc., in comments.Richard Eisenberg2019-01-032-6/+9
| | | | [ci skip]
* Visible kind applicationmynguyen2019-01-03141-1204/+3059
| | | | | | | | | | | | | | | | | | | | | | | Summary: This patch implements visible kind application (GHC Proposal 15/#12045), as well as #15360 and #15362. It also refactors unnamed wildcard handling, and requires that type equations in type families in Template Haskell be written with full type on lhs. PartialTypeSignatures are on and warnings are off automatically with visible kind application, just like in term-level. There are a few remaining issues with this patch, as documented in ticket #16082. Includes a submodule update for Haddock. Test Plan: Tests T12045a/b/c/TH1/TH2, T15362, T15592a Reviewers: simonpj, goldfire, bgamari, alanz, RyanGlScott, Iceland_jack Subscribers: ningning, Iceland_jack, RyanGlScott, int-index, rwbarton, mpickering, carter GHC Trac Issues: `#12045`, `#15362`, `#15592`, `#15788`, `#15793`, `#15795`, `#15797`, `#15799`, `#15801`, `#15807`, `#15816` Differential Revision: https://phabricator.haskell.org/D5229
* Minor refactoring and documentation in profiling RTS codeÖmer Sinan Ağacan2019-01-032-46/+29
|
* stg-spec: Modify `.lhs` to `.hs`Takenobu Tani2019-01-031-10/+10
| | | | | | | | | | Modify old filename `.lhs` to `.hs` in the following file: * docs/stg-spec/StgSyn.ott Since PDF has not been registered in the past, I have not committed generated PDF(`stg-spec.pdf`). [ci skip]
* core-spec: Modify `.lhs` to `.hs` (generated PDF)Takenobu Tani2019-01-021-0/+0
| | | | | | | | Modify old filename `.lhs` to `.hs` in following file: * docs/core-spec/core-spec.pdf (generated PDF) [ci skip]
* core-spec: Modify `.lhs` to `.hs` (source files)Takenobu Tani2019-01-024-80/+80
| | | | | | | | | | | Modify old filename `.lhs` to `.hs` in following files: * docs/core-spec/README * docs/core-spec/CoreLint.ott * docs/core-spec/CoreSyn.ott * docs/core-spec/core-spec.mng [ci skip]
* configure: introduce HAPPY and ALEX vars and deprecate --with-ghc in favour ↵Adam Sandberg Eriksson2019-01-014-18/+31
| | | | | | of the GHC var Also updates the windows gitlab ci to use the new configure variables.
* PPC NCG: Remove Darwin supportPeter Trommler2019-01-0120-691/+98
| | | | | | | Support for Mac OS X on PowerPC has been dropped by Apple years ago. We follow suit and remove PowerPC support for Darwin. Fixes #16106.
* Introduce NCG config flag and add helperGabor Greif2018-12-302-1/+6
| | | | | | | ... for testing presence of NCG This commit adds a criterion for checking whether we can expect sensible output from --ddump-asm.
* PPC NCG: Simple 64-bit condition code on 32-bitPeter Trommler2018-12-301-3/+48
|
* rts: fix build failure on OpenBSD (_DYNAMIC symbol collision)Sergei Trofimovich2018-12-291-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Build failure on OpenBSD-6.4 the the following: ``` rts/RtsSymbols.c:994:1: error: error: redefinition of '_DYNAMIC' as different kind of symbol | 994 | RTS_OPENBSD_ONLY_SYMBOLS | ^ RTS_OPENBSD_ONLY_SYMBOLS ^ ``` On OpenBSD `_DYNAMIC` was always defined in `<elf.h>` headers but used not to be included. The change explicitly includes `<elf.h>` as a source of symbol definition. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> Test Plan: build-tested on OpenBSD-6.4 Reviewers: bgamari, erikd, simonmar Subscribers: rwbarton, carter GHC Trac Issues: #15945 Differential Revision: https://phabricator.haskell.org/D5461
* testsuite: Disable more tests in unregisterised buildwip/disable-fragile-unreg-testsBen Gamari2018-12-283-3/+12
| | | | | | This disables `ghcilink005`, `foreignInterruptable`, and `T7040_ghci` in the unregisterised build as they tend to fail non-deterministically. See ticket #16085.
* rebindable-clash-warning-fix : correct warning logicShayne Fletcher2018-12-286-1/+38
|
* Skip test when external interpreter missingPeter Trommler2018-12-281-0/+1
|
* 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