summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Avoid compiling Hadrian dependencies with profiling on Cabal/Linuxwip/hadrian-disable-lib-profNeil Mitchell2019-01-241-1/+1
|
* Avoid compiling Hadrian dependencies with profiling on Cabal/WindowsNeil Mitchell2019-01-241-1/+1
|
* 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]
* gitlab: Add merge request templateBen Gamari2019-01-211-0/+19
| | | | | | This begins to define our expectations of contributions. [skip-ci]
* Fix typo in TcRnTypes.hs [skip ci]wip/tc-rn-types-typoMatthew Pickering2019-01-211-2/+2
|
* Add support for ASM foreign files (.s) in TH (#16180)Sylvain Henry2019-01-206-9/+45
|
* Remove TODO in HsExprMatthew Pickering2019-01-201-1/+0
| | | | It is correct to be `GhcTc` as the data type is for expressions which are inside splices so they can be delayed until desugaring.
* Mention DerivingStrategies in the warning when DAC and GND are both enabledChaitanya Koparkar2019-01-204-1/+17
| | | | | | | | | | | Summary: When DeriveAnyClass and GeneralizedNewtypeDeriving are both enabled, GHC prints out a warning that specifies the strategy it used to derive a class. This patch updates the warning to mention that users may pick a particular strategy by using DerivingStrategies. Test plan: make test TEST=T16179
* [T16199] Adds a verify-packages scriptghc-8.9-startMoritz Angermann2019-01-201-0/+20
|
* Prepare source-tree for base-4.13 MFP bumpHerbert Valerio Riedel2019-01-1822-18/+47
|
* Fix typo in DsExprwip/ds-expr-typoMatthew Pickering2019-01-181-1/+1
|
* Comments in stranal test declarationsÖmer Sinan Ağacan2019-01-181-2/+4
|
* Small refactorSimon Peyton Jones2019-01-171-8/+6
| | | | ...to use the same error message rather than duplicating it
* Remove export of checkValidFamPats, never usedSimon Peyton Jones2019-01-171-1/+1
|
* Comments about data constructor wrappersSimon Peyton Jones2019-01-171-30/+40
|
* 'DynFlag'-free version of 'mkParserFlags'Alec Theriault2019-01-173-330/+296
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This is a fixed version of the reverted d2fbc33c4ff3074126ab71654af8bbf8a46e4e11 and 5aa29231ab7603537284eff5e4caff3a73dba6d2. Obtaining a `DynFlags` is difficult, making using the lexer/parser for pure parsing/lexing unreasonably difficult, even with `mkPStatePure`. This is despite the fact that we only really need * language extension flags * warning flags * a handful of boolean options The new `mkParserFlags'` function makes is easier to directly construct a `ParserFlags`. Furthermore, since `pExtsBitmap` is just a footgun, I've gone ahead and made `ParserFlags` an abstract type. Also, we now export `ExtBits` and `getBit` instead of defining/exporting a bunch of boilerplate functions that test for a particular 'ExtBits'. In the process, I also * cleaned up an unneeded special case for `ITstatic` * made `UsePosPrags` another variant of `ExtBits` * made the logic in `reservedSymsFM` match that of `reservedWordsFM` Test Plan: make test Reviewers: bgamari, alanz, tdammers Subscribers: sjakobi, tdammers, rwbarton, mpickering, carter GHC Trac Issues: #11301 Differential Revision: https://phabricator.haskell.org/D5405
* PPC NCG: Rename constructorsPeter Trommler2019-01-171-28/+29
| | | | | Rename constructors in calling convention data type to reflect the fact that they represent an ELF ABI not only a Linux ABI.
* Fix tab and improve whitespacePeter Trommler2019-01-171-7/+8
|
* PPC NCG: Register definitions for all 64-bit systemsPeter Trommler2019-01-171-7/+3
|
* PPC NCG: GOT declaration for all 64-bit ELF systemsPeter Trommler2019-01-171-5/+3
|
* PPC NCG: Make `stackHeaderSize` more generalPeter Trommler2019-01-171-7/+6
|
* PPC NCG: Make calling convention more generalPeter Trommler2019-01-171-6/+5
| | | | | All operating systems except AIX and Darwin follow the ELF specification.
* RTS: Use ELF v1 convention on all powerpc64 systemsPeter Trommler2019-01-171-5/+0
|
* Add test for #16197wip/T16197Ömer Sinan Ağacan2019-01-174-1/+39
|
* Documentation for StgRetFunÖmer Sinan Ağacan2019-01-162-1/+4
|
* Make sure 'haddock' package also copies resourcesAlec Theriault2019-01-166-34/+31
| | | | ...and does so in the lib folder of the right stage
* Hadrian: handle Haddock's resource directoryAlec Theriault2019-01-163-18/+29
| | | | | | | | | | | | | | | | Fixes #16105 * Require Haddock's resource as runtime dependencies of the Haddock builder. This means we no longer have to `need` particular resources in every other documentation rule. * Do a _tracked_ copy of both the 'html' and 'latex' folder resource folders. * Move resources into `stage1/lib` (NB: the `haddock` binary goes in `stage1/bin`). Besides now actually matching the Haddock script wrapper generated by BinaryDist, this also prepares for Haddock in relocatable build folder detecting its own resources.