summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* Improve clarity of documentation for maybeToListSteve Hart2019-01-161-1/+1
|
* Revert "Fix typo in maybeToList documentation"Steve Hart2019-01-161-1/+1
| | | This reverts commit af210f40ce7ad7b3351abc988b0351446e8b639e
* Fix typo in maybeToList documentationSteve Hart2019-01-161-1/+1
|
* Hadrian: Use the Cabal build script on Windows by defaultAndrey Mokhov2019-01-161-4/+2
| | | | | | | | | | | | | The Stack build script `build.stack.bat` currently fails on Windows when invoked with the `--configure` flag, see: https://ghc.haskell.org/trac/ghc/ticket/15982 The Cabal build script `build.cabal.bat` works reliably on my Windows machine, so I am proposing to switch to it by default, that is, to run it from the default `build.bat` script. The Stack build script can still be run directly if need be.
* Disable Shake Lint by default.Andrey Mokhov2019-01-166-9/+4
|
* Switch to the untracked version of getDirectoryFiles when scanning for GMP ↵Andrey Mokhov2019-01-162-6/+15
| | | | | | | | | objects See https://ghc.haskell.org/trac/ghc/ticket/15971. This is work in progress: this commit does the right thing, but does not yet fix the ticket.
* typoAlp Mestanogullari2019-01-161-1/+1
|
* crosslink hadrian/README.md and hadrian/doc/make.mdAlp Mestanogullari2019-01-162-2/+13
|
* doc: behaviour of +RTS -h depends on profilingBen Price2019-01-162-0/+9
| | | | | | The rts option `-h` behaves as `-hT` when compiled without profiling, and `-hc` when compiled with profiling. Add a note to the user's guide highlighting this inconsistency.
* doc: reorder heap profiling information in +RTS -?Ben Price2019-01-161-6/+5
|
* rts: Allow heap prof by closure type in prof wayBen Price2019-01-161-0/+1
| | | | | | Complete b7b6617a90824303daf555c817f538cd9c792671 (see ticket #15086) to actually enable profiling by closure type in the profiling rts. I.e. +RTS -p -hT is now accepted.
* try to fix CIAlec Theriault2019-01-161-0/+2
|
* Fix tests for `integer-simple`Alec Theriault2019-01-1636-141/+143
| | | | | | | | | | | | A bunch of tests for `integer-simple` were now broken for a foolish reason: unlike the `integer-gmp` case, there is no CorePrep optimization for turning small integers directly into applications of `S#`. Rather than port this optimization to `integer-simple` (which would involve moving a bunch of `integer-simple` names into `PrelNames`), I switched as many tests as possible to use `Int`. The printing of `Integer` is already tested in `print037`.
* Remove from `base` obsolete CPP for `integer-gmp`Alec Theriault2019-01-167-162/+26
| | | | | | | | | | * `GHC.Natural` now exports the same functions (regardless of integer backend) * remove unnecessary CPP around instances * remove the 'OPTIMISE_INTEGER_GCD_LCM' flag - almost all of those optimizations now work regardless of which integer backend is used Note that some CPP still remains for situations where there are backend-specific optimization hacks (like a more efficient GMP-only `gcd` for `Int#` and `Word#`).
* Match `integer-simple`'s API with `integer-gmp`Alec Theriault2019-01-164-8/+99
| | | | | | | | In `integer-simple`: * Added an efficient `popCountInteger` and `bitInteger` * Added an efficient `gcdInteger` and `lcmInteger` * Made `testBitInteger` more efficient
* Support printing `integer-simple` Integers in GHCiAlec Theriault2019-01-167-2/+80
| | | | | | | | | | This means that `:p` no longer leaks the implementation details of `Integer` with `integer-simple`. The `print037` test case should exercise all possible code paths for GHCi's code around printing `Integer`s (both in `integer-simple` and `integer-gmp`). `ghc` the package now also has a Cabal `integer-simple` flag (like the `integer-gmp` one).
* Create folder if missing for .hie filesAlec Theriault2019-01-161-3/+5
| | | | | | | | | | | | | | | Summary: This matches the existing behaviour for .hi files: if the user requests the interface file be written in some location, we should create the parent folder if it doesn't already exist. Reviewers: bgamari, sjakobi Reviewed By: sjakobi Subscribers: sjakobi, rwbarton, carter Differential Revision: https://phabricator.haskell.org/D5463
* Hadrian: support extra libraries + OSX rpathAlec Theriault2019-01-165-24/+34
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: This fixes some of the issues that surfaced when trying to build dynamic GHC on OSX. Unfortunately, due some other `libffi` issues, this doesn't completely fix dynamic builds on OSX. - Use 'extra-libraries' from .cabal files instead of hardcoding which packages need which extra libs. Also add support for 'extra-lib-dirs'. - Make sure Hadrian looks in the right places to support both plain '<pkg>.buildinfo' and '<pkg>.buildinfo.in' files. - Make the '-rpath' support more robust across OS's (it previously didn't work on OSX and possibly windows either). Reviewers: angerman, alpmestan, adamse, DavidEichmann, bgamari, Phyx Subscribers: rwbarton, carter GHC Trac Issues: #15990 Differential Revision: https://phabricator.haskell.org/D5409
* Introduce ghci command wrapperZejun Wu2019-01-162-33/+76
| | | | | | | | | | Introduce ghci command wrapper, which can be used to cutomize ghci: * process additionals actions before/after the command * handle particular exceptions in given ways * logging stats We also split the timing and printing part of `timeIt` into different functions.
* Fix filename in comment againPeter Trommler2019-01-161-1/+1
|
* Fix reference to stack code in commentPeter Trommler2019-01-161-1/+1
|
* PPC NCG: Refactor stack allocation codePeter Trommler2019-01-162-26/+15
| | | | | There is only one place where UPDATE_SP was used. Instead of the UPDATE_SP pseudo instruction build the list of instructions directly.
* Hadrian: configure packages with right 'htmldir'Alec Theriault2019-01-164-6/+21
| | | | | | | | | This means that we can query the package DB for haddock interfaces. Haddock uses this in its testsuite. 'cabal {v1-,v2,}-haddock' also uses this. Also thread through to Haddock package-specific overrides of GHC warnings.
* Change comments as requested by code review. #10857Roland Senn2019-01-162-7/+28
|
* GHCi ignores cmd line flags XMonomorphismRestr.. XNoExtendedDef..#10857Roland Senn2019-01-167-2/+43
|
* hWaitForInput-accurate-socket testTom Sydney Kerckhove2019-01-163-0/+50
|
* @simonpj's suggested refactorRyan Scott2019-01-151-36/+71
|
* Bump Cabal submoduleRyan Scott2019-01-151-0/+0
|
* Control validity-checking of type synonym applications more carefullyRyan Scott2019-01-1514-70/+271
| | | | | | | | | | | | | | | | | | | | Trac #16059 shows that when validity checking applications of type synonyms, GHC sometimes wasn't checking the expanded type enough. We must be careful, however, since checking both the expanded type as well as the arguments to the type synonym can lead to exponential blowup (see https://ghc.haskell.org/trac/ghc/ticket/16059#comment:4). Nor can we omit checking either the expanded type or the argument for correctness reasons. The solution here is to introduce a new `ExpandMode` data type that is plumbed through all of the type-validity-checking functions in `TcValidity`. `ExpandMode` dictates whether we only check the expanded type (`Expand`), only check the arguments (`NoExpand), or both (`Both`). Importantly, if we check `Both` in the function for validity checking type synonym applications, then we switch to `NoExpand` when checking the arguments so as to avoid exponential blowup. See `Note [Correctness and performance of type synonym validity checking]` for the full story.
* Fix #16116 by removing badAssocRhsRyan Scott2019-01-157-22/+57
|
* Fix #16114 by adding a validity check to rnClsInstDeclRyan Scott2019-01-156-27/+35
|
* gitlab-ci: Cleanup Windows buildsBen Gamari2019-01-141-0/+30
| | | | See Note [Cleanup on Windows].
* Document the Shake Lint feature.Andrey Mokhov2019-01-141-0/+5
|