summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Use sigPrec in more places in Convert and HsUtilsRyan Scott2019-01-286-41/+62
| | | | | | | | | Trac #16183 was caused by TH conversion (in `Convert`) not properly inserting parentheses around occurrences of explicit signatures where appropriate, such as in applications, function types, and type family equations. Solution: use `parenthesizeHsType sigPrec` in these places. While I was in town, I also updated `nlHsFunTy` to do the same thing.
* Some refactoring in tcInferAppsRichard Eisenberg2019-01-272-92/+99
| | | | | Should be no change in behavior, but this makes the control flow a little more apparent.
* Test that hsc2hs works with promoted data constructorsAndrew Martin2019-01-274-0/+20
|
* gitlab-ci: Fix Windows cleanup command lineBen Gamari2019-01-271-1/+4
| | | | | Why is it so hard to delete a directory's contents without deleting the directory itself in Windows? This will forever remain a mystery.
* Update CODEOWNERS files with utilsTamar Christina2019-01-271-0/+2
|
* Fix regDotColor for amd64.klebinger.andreas@gmx.at2019-01-272-31/+48
| | | | | Add missing color mappings to regDotColor for amd64. Also set fakeRegs to red instead of xmm regs.
* Fix incorrectly named configure optionsAlec Theriault2019-01-272-4/+4
| | | | | | Although we should use 'AC_ARG_ENABLE' for boolean flags, it also means options get named '--enable-*', not '--with-*'. This should unbreak the --with-intree-gmp option.
* Don't overwrite the set log_action when using --interactiveMatthew Pickering2019-01-271-4/+8
| | | | | | | | | | | | | -ddump-json didn't work with --interactive as --interactive overwrote the log_action in terms of defaultLogAction. Reviewers: bgamari Subscribers: rwbarton, thomie, carter GHC Trac Issues: #14078 Differential Revision: https://phabricator.haskell.org/D4533
* Add @simonmar to various things in CODEOWNERSSimon Marlow2019-01-271-3/+4
|
* Update CODEOWNERSMoritz Angermann2019-01-271-2/+13
|
* Add myself to a few more placesÖmer Sinan Ağacan2019-01-271-0/+2
|
* testsuite: Add tests from #11982Ben Gamari2019-01-274-0/+45
|
* testsuite: Skip foreignInterruptible in unregisterised wayBen Gamari2019-01-271-0/+2
| | | | See #15467.
* testsuite: Skip T1288_ghci in unregisterisedBen Gamari2019-01-271-0/+2
| | | | | As pointed out in #16085, these ghci tests are fragile in the unregisterised way.
* check-api-annotations checks for annotation preceding its spanAlan Zimmerman2019-01-2730-31/+237
| | | | | | | | | | | | | | | | For an API annotation to be useful, it must not occur before the span it is enclosed in. So, for check-api-annotation output, a line such as ((Test16212.hs:3:22-36,AnnOpenP), [Test16212.hs:3:21]), should be flagged as an error, as the AnnOpenP location of 3:21 precedes its enclosing span of 3:22-26. This patch does this. Closes #16217
* hadrian: use new-exec to make sure alex & happy are in PATH (#16120)Adam Sandberg Eriksson2019-01-273-2/+8
|
* Update Cabal submodule to latest master branch tipHerbert Valerio Riedel2019-01-271-0/+0
|
* Update binary submodule to latest master branch tipHerbert Valerio Riedel2019-01-271-0/+0
|
* testsuite: Mark hWaitForInput-accurate-socket as requiring unixBen Gamari2019-01-271-1/+1
| | | | It imports System.Posix.IO.
* testsuite: Remove directories that already exist when seeding extra_filesBen Gamari2019-01-271-0/+2
| | | | | Otherwise the testsuite driver crashes when run multiple times with CLEANUP=NO on a test containing such extra_files.
* testsuite: Normalise styleBen Gamari2019-01-271-6/+7
|
* GhcPlugins: Fix lookup of TH namesBen Gamari2019-01-271-3/+3
| | | | | | | | | | | Previously `thNameToGhcName` was calling `lookupOrigNameCache` directly, which failed to handle the case that the name wasn't already in the name cache. This happens, for instance, when the name was in scope in a plugin being used during compilation but not in scope in the module being compiled. In this case we the interface file containing the name won't be loaded and `lookupOrigNameCache` fails. This was the cause of #16104. The solution is simple: use the nicely packaged `lookupOrigIO` instead.
* testsuite: Add test for #16104Ben Gamari2019-01-279-0/+77
|
* testsuite: Add predicate for CPU feature availabilityBen Gamari2019-01-273-0/+79
| | | | | | | Previously testing code-generation for ISA extensions was nearly impossible since we had no ability to determine whether the host supports the needed extension. Here we fix this by introducing a simple /proc/cpuinfo-based testsuite predicate. We really ought to
* Add @sgraf to CODEOWNERSSebastian Graf2019-01-261-1/+3
| | | [skip ci]
* Add Simon and Richard as more CODEOWNERSRichard Eisenberg2019-01-241-0/+3
| | | | [skip ci]
* gitlab-ci: Explicitly clear dependencies of all jobsBen Gamari2019-01-231-0/+4
| | | | | | | Apparently GitLab CI defaults to declaring all jobs of the previous stage as dependencies of a job. This meant that we would end up downloading all of our binary distributions during the `cleanup` stage, eating up a truly remarkable amount of S3 tranfers.
* testsuite: Skip ghcilink002 when unregisterisedBen Gamari2019-01-231-0/+2
| | | | See #16085.
* Minor refactor [ci skip]Gabor Greif2019-01-233-6/+6
|
* A few typofixesGabor Greif2019-01-2317-20/+19
|
* gitlab-ci: Drop CircleCI jobsBen Gamari2019-01-231-30/+0
| | | | | | It's pretty unlikely we will be going back to circleci at this point [skip-ci]
* Error out of invalid Int/Word bit shiftsAlec Theriault2019-01-235-29/+82
| | | | | | | | | | | | | Although the Haddock's for `shiftL` and `shiftR` do require the number of bits to be non-negative, we should still check this before calling out to primitives (which also have undefined behaviour for negative bit shifts). If a user _really_ wants to bypass checks that the number of bits is sensible, they already have the aptly-named `unsafeShiftL`/`unsafeShiftR` at their disposal. See #16111.
* gitlab: Collect artifacts on WindowsBen Gamari2019-01-231-0/+10
|
* Update Darwin CI to use new toplevel --with-intree-gmp configure flagAlec Theriault2019-01-231-1/+1
|
* Hadrian: support in-tree GMPAlec Theriault2019-01-2311-13/+45
| | | | | | | | | | | | | | | | | | | | | | Summary: This adds top-level configure flags '--with-intree-gmp' and '--with-framework-preferred', both of which are especially relevant on MacOS. Besides gaining two new flags, Hadrian also had to be taught what to do with the 'framework' in .cabal files. Test Plan: ./boot && ./configure --with-intree-gmp && ./hadrian/build.sh ./boot && ./configure --with-gmp-framework-preferred && ./hadrian/build.sh # on macos Reviewers: carter, snowleopard, alpmestan, hvr, goldfire, bgamari Subscribers: rwbarton, erikd GHC Trac Issues: #16001 Differential Revision: https://phabricator.haskell.org/D5417
* gitlab-ci: Disallow failureBen Gamari2019-01-231-1/+0
|
* testsuite: Mark T16180 as broken on DarwinBen Gamari2019-01-231-1/+1
| | | | See #16218.
* testsuite: Mark ghci063 as broken on DarwinBen Gamari2019-01-231-1/+1
| | | | | This is the last failing test on Darwin preventing us from disallowing CI failures. See #16201.
* Hadrian: install patches 'haddock-{html,interface}'Alec Theriault2019-01-231-0/+22
| | | | | | | | | | | | | Since the `$(docdir)` can be picked independently from the `$(libdir)`, we need to make sure that that the `haddock-html` and `haddock-interface` fields in the package DB (which is in the `$(libdir)`) get updated to point to the appropriate places in the `$(docdir)`. NB: in the make system, `ghc-cabal` would cover this sort of thing by re-running `configure` on installation, but here we get away with a couple lines of `sed` and a call to `ghc-pkg recache`. Fixes #16202.
* testsuite: Ensure that config.{msys,cygwin} are initializedBen Gamari2019-01-231-0/+2
| | | | | | | | | | Reviewers: monoidal Reviewed By: monoidal Subscribers: monoidal, rwbarton, carter Differential Revision: https://phabricator.haskell.org/D5056
* Add myself to CODEOWNERS for a few filesJoachim Breitner2019-01-231-0/+5
|
* Minor typo in docs for KProxyJoachim Breitner2019-01-231-1/+1
| | | | really minor, but it annoyed me when reading it :-)
* Fix hadrian prof flavour so that it builds a profiled version of GHCMatthew Pickering2019-01-231-2/+9
| | | | | | | | In Alp's refactoring of `getProgramContexts` he removed a call to `getProgramContext` which was where the logic for this used to be implemented. Fixes #16214
* users guide: fix typesetting of pragmasBen Price2019-01-231-3/+4
|
* users guide: consistent spelling of inlinableBen Price2019-01-231-1/+1
|
* gitlab-ci: Reenable Hadrian build on WindowsBen Gamari2019-01-231-6/+5
|
* Update transformers moduleHerbert Valerio Riedel2019-01-221-0/+0
|
* Fix bogus worker for newtypesSimon Peyton Jones2019-01-221-21/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The "worker" for a newtype is actually a function with a small (compulsory) unfolding, namely a cast. But the construction of this function was plain wrong for newtype /instances/; it cast the arguemnt to the family type rather than the representation type. This never actually bit us because, in the case of a family instance, we immediately cast the result to the family type. So we get \x. (x |> co1) |> co2 where the compositio of co1 and co2 is ill-kinded. However the optimiser (even the simple optimiser) just collapsed those casts, ignoring the mis-match in the middle, so we never saw the problem. Trac #16191 is indeed a dup of #16141; but the resaon these tickets produce Lint errors is not the unnecessary forcing; it's because of the ill-typed casts. This patch fixes the ill-typed casts, properly. I can't see a way to trigger an actual failure prior to this patch, but it's still wrong wrong wrong to have ill-typed casts, so better to get rid of them.
* Extend linker-script workaround to work with musl libcSamuel Holland2019-01-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | GHC has code to handle unsuffixed .so files that are linker scripts pointing to the real shared library. The detection is done by parsing the result of `dlerror()` after calling `dlopen()` and looking for certain error strings. On musl libc, the error message is "Exec format error", which happens to be `strerror(ENOEXEC)`: ``` $ cat tmp.c #include <dlfcn.h> #include <stdio.h> int main(void) { dlopen("libz.so", RTLD_NOW | RTLD_GLOBAL); puts(dlerror()); return 0; } $ gcc -o tmp tmp.c $ ./tmp Error loading shared library libz.so: Exec format error $ ``` This change fixes the workaround to also work on musl libc. Link: https://phabricator.haskell.org/D5474
* Add CODEOWNERSBen Gamari2019-01-211-0/+22
| | | | | | | GitLab uses this file to suggest reviewers based upon the files that a Merge Request touches. [skip-ci]