summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* rts/BlockAlloc: Allow disabling of internal assertionsBen Gamari2023-03-081-6/+16
| | | | | These can be quite expensive and it is sometimes useful to compile a DEBUG RTS without them.
* rts: Use release ordering when storing thread labelsBen Gamari2023-03-081-1/+1
| | | | Since this makes the ByteArray# visible from other cores.
* rts: Fix type issues in Sparks.hBen Gamari2023-03-081-2/+2
| | | | Adds explicit casts to satisfy a C++ compiler.
* nonmoving: Deduplicate assertionBen Gamari2023-03-081-2/+9
|
* nonmoving: Fix styleBen Gamari2023-03-081-2/+3
|
* rts: Drop redundant prototypeBen Gamari2023-03-081-2/+0
|
* bytecode: Fix bitmaps for BCOs used to tag tuples and prim call argsAlexis King2023-03-086-36/+145
| | | | fixes #23068
* Change hostSupportsRPaths to report False on OpenBSDGreg Steuck2023-03-081-1/+4
| | | | | OpenBSD does support -rpath but ghc build process relies on some related features that don't work there. See ghc/ghc#23011
* linker: fix linking with aligned sections (#23066)Sylvain Henry2023-03-085-6/+65
| | | | | Take section alignment into account instead of assuming 16 bytes (which is wrong when the section requires 32 bytes, cf #23066).
* Update commit for utils/hpc git submoduleDavid Binder2023-03-081-0/+0
|
* Update commit for utils/hpc git submoduleDavid Binder2023-03-081-0/+0
|
* Add git submodule for utils/hpcDavid Binder2023-03-082-0/+3
|
* Remove utils/hpc subdirectory and its contentsDavid Binder2023-03-0814-2069/+0
|
* Fix documentation for traceWith and friendsMorrowM2023-03-072-3/+6
|
* Add `Data.Functor.unzip`Ollie Charles2023-03-072-0/+6
| | | | | | This function is currently present in `Data.List.NonEmpty`, but `Data.Functor` is a better home for it. This change was discussed and approved by the CLC at https://github.com/haskell/core-libraries-committee/issues/88.
* Documentation: describe laziness of several function from Data.ListBodigrim2023-03-062-16/+150
|
* Constraint simplification loop now depends on `ExpansionFuel`Apoorv Ingle2023-03-0611-98/+331
| | | | | | | | | | | | | | instead of a boolean flag for `CDictCan.cc_pend_sc`. Pending givens get a fuel of 3 while Wanted and quantified constraints get a fuel of 1. This helps pending given constraints to keep up with pending wanted constraints in case of `UndecidableSuperClasses` and superclass expansions while simplifying the infered type. Adds 3 dynamic flags for controlling the fuels for each type of constraints `-fgivens-expansion-fuel` for givens `-fwanteds-expansion-fuel` for wanteds and `-fqcs-expansion-fuel` for quantified constraints Fixes #21909 Added Tests T21909, T21909b Added Note [Expanding Recursive Superclasses and ExpansionFuel]
* Convert diagnostics in GHC.Rename.Module to proper TcRnMessage (#20115)Andrei Borzenkov2023-03-0632-224/+525
| | | | | | | | | | | | | | | | | | | | | | | | | I've turned almost all occurrences of TcRnUnknownMessage in GHC.Rename.Module module into a proper TcRnMessage. Instead, these TcRnMessage messages were introduced: TcRnIllegalInstanceHeadDecl TcRnUnexpectedStandaloneDerivingDecl TcRnUnusedVariableInRuleDecl TcRnUnexpectedStandaloneKindSig TcRnIllegalRuleLhs TcRnBadAssocRhs TcRnDuplicateRoleAnnot TcRnDuplicateKindSig TcRnIllegalDerivStrategy TcRnIllegalMultipleDerivClauses TcRnNoDerivStratSpecified TcRnStupidThetaInGadt TcRnBadImplicitSplice TcRnShadowedTyVarNameInFamResult TcRnIncorrectTyVarOnLhsOfInjCond TcRnUnknownTyVarsOnRhsOfInjCond Was introduced one helper type: RuleLhsErrReason
* Small fixes to configure scriptGabriella Gonzalez2023-03-061-2/+2
|
* Fix configure failure on alpine linuxGabriella Gonzalez2023-03-061-1/+2
|
* Quote variablesGabriella Gonzalez2023-03-061-4/+3
| | | | … as suggested by @bgamari
* Try to create somewhat portable `ld` commandGabriella Gonzalez2023-03-061-1/+1
| | | | | | | I cannot figure out a good way to generate an `ld` command that works on both Linux and macOS. Normally you'd use something like `AC_LINK_IFELSE` for this purpose (I think), but that won't let us test response file support.
* Apply 1 suggestion(s) to 1 file(s)sheaf2023-03-061-1/+1
|
* Fix `hadrian/bindist/config.mk.in`Gabriella Gonzalez2023-03-061-0/+1
| | | | … as suggested by @bgamari
* Synchronize `configure.ac` and `distrib/configure.ac.in`Gabriella Gonzalez2023-03-062-1/+3
|
* Enable response files for linker if supportedGabriella Gonzalez2023-03-068-4/+31
|
* Add regression test for #22328Simon Peyton Jones2023-03-052-0/+17
|
* Fix typo in docs referring to threadLabelChris Wendt2023-03-041-1/+1
|
* Add test for T22793Simon Peyton Jones2023-03-043-0/+62
|
* Add decideSymbol, decideChar, decideNat, decTypeRep, decT and hdecTOleg Grenrus2023-03-047-20/+202
| | | | | | These all type-level equality decision procedures. Implementes a CLC proposal https://github.com/haskell/core-libraries-committee/issues/98
* More fixes for `type data` declarationsSimon Peyton Jones2023-03-0310-62/+133
| | | | | | | | | | | | | | | | | | | | | | This MR fixes #23022 and #23023. Specifically * Beef up Note [Type data declarations] in GHC.Rename.Module, to make invariant (I1) explicit, and to name the several wrinkles. And add references to these specific wrinkles. * Add a Lint check for invariant (I1) above. See GHC.Core.Lint.checkTypeDataConOcc * Disable the `caseRules` for dataToTag# for `type data` values. See Wrinkle (W2c) in the Note above. Fixes #23023. * Refine the assertion in dataConRepArgTys, so that it does not complain about the absence of a wrapper for a `type data` constructor Fixes #23022. Acked-by: Simon Peyton Jones <simon.peytonjones@gmail.com>
* Document getSoloDavid Feuer2023-03-031-0/+20
|
* Export getSolo from Data.TupleDavid Feuer2023-03-033-1/+5
| | | | | | | Proposed in [CLC proposal #113](https://github.com/haskell/core-libraries-committee/issues/113) and [approved by the CLC](https://github.com/haskell/core-libraries-committee/issues/113#issuecomment-1452452191)
* Get the right in-scope set in etaBodyForJoinPointSimon Peyton Jones2023-03-023-4/+40
| | | | Fixes #23026
* ncg/aarch64: Handle MULTILINE_COMMENT identically as COMMENTsZubin Duggal2023-03-023-5/+265
| | | | | | | | Commit 7566fd9de38c67360c090f828923d41587af519c with the fix for #22798 was incomplete as it failed to handle MULTILINE_COMMENT pseudo-instructions, and didn't completly fix the compiler panics when compiling with `-fregs-graph`. Fixes #23002
* constant folding: Correct type of decodeDouble_Int64 ruleMatthew Pickering2023-03-023-5/+23
| | | | | | | | The first argument is Int64# unconditionally, so we better produce something of that type. This fixes a core lint error found in the ad package. Fixes #23019
* rts: Drop no-alignment special case for WindowsBen Gamari2023-03-021-3/+1
| | | | | | For reasons that aren't clear, we were previously not giving Capability the same favorable alignment on Windows that we provided on other platforms. Fix this.
* rts: Correctly align Capability allocationsBen Gamari2023-03-021-2/+3
| | | | | | | | Previously we failed to tell the C allocator that `Capability`s needed to be aligned, resulting in #22965. Fixes #22965. Fixes #22975.
* rts: Introduce stgMallocAlignedBytesBen Gamari2023-03-023-13/+57
|
* rts: Statically assert alignment of CapabilityBen Gamari2023-03-021-8/+16
| | | | | | | In #22965 we noticed that changes in the size of `Capability` can result in unsound behavior due to the `align` pragma claiming an alignment which we don't in practice observe. Avoid this by statically asserting that the size is a multiple of the alignment.
* Check for platform support for JavaScript foreign importsLuite Stegeman2023-03-023-1/+9
| | | | | | | | | GHC was accepting `foreign import javascript` declarations on non-JavaScript platforms. This adds a check so that these are only supported on an platform that supports the JavaScript calling convention. Fixes #22774
* Don't suppress *all* WantedsRichard Eisenberg2023-03-025-17/+63
| | | | | | | | | | | | | | Code in GHC.Tc.Errors.reportWanteds suppresses a Wanted if its rewriters have unfilled coercion holes; see Note [Wanteds rewrite Wanteds] in GHC.Tc.Types.Constraint. But if we thereby suppress *all* errors that's really confusing, and as #22707 shows, GHC goes on without even realising that the program is broken. Disaster. This MR arranges to un-suppress them all if they all get suppressed. Close #22707
* fix: Consider strictness annotation in rep_bindromes2023-03-014-3/+44
| | | | Fixes #23036
* Refine the test for naughty record selectorsSimon Peyton Jones2023-03-014-36/+77
| | | | | | | The test for naughtiness in record selectors is surprisingly subtle. See the revised Note [Naughty record selectors] in GHC.Tc.TyCl.Utils. Fixes #23038.
* Revert the main payload of "Make `drop` and `dropWhile` fuse (#18964)"Sebastian Graf2023-03-015-33/+56
| | | | | | | | | | | | | | | | This reverts the bits affecting fusion of `drop` and `dropWhile` of commit 0f7588b5df1fc7a58d8202761bf1501447e48914 and keeps just the small refactoring unifying `flipSeqTake` and `flipSeqScanl'` into `flipSeq`. It also adds a new test for #23021 (which was the reason for reverting) as well as adds a clarifying comment to T18964. Fixes #23021, unfixes #18964. Metric Increase: T18964 Metric Decrease: T18964
* hadrian: Add dependency from lib/settings to mk/config.mkBen Gamari2023-03-011-1/+1
| | | | | | | | | | | | | | | In 81975ef375de07a0ea5a69596b2077d7f5959182 we attempted to fix #20253 by adding logic to the bindist Makefile to regenerate the `settings` file from information gleaned by the bindist `configure` script. However, this fix had no effect as `lib/settings` is shipped in the binary distribution (to allow in-place use of the binary distribution). As `lib/settings` already existed and its rule declared no dependencies, `make` would fail to use the added rule to regenerate it. Fix this by explicitly declaring a dependency from `lib/settings` on `mk/config.mk`. Fixes #22982.
* Account for TYPE vs CONSTRAINT in mkSelCoSimon Peyton Jones2023-02-285-7/+56
| | | | | | | As #23018 showed, in mkRuntimeRepCo we need to account for coercions between TYPE and COERCION. See Note [mkRuntimeRepCo] in GHC.Core.Coercion.
* Take more care with unlifted bindings in the specialiserSimon Peyton Jones2023-02-285-53/+102
| | | | | | | | As #22998 showed, we were floating an unlifted binding to top level, which breaks a Core invariant. The fix is easy, albeit a little bit conservative. See Note [Care with unlifted bindings] in GHC.Core.Opt.Specialise
* Testsuite: replace some js_skip with req_cmmSylvain Henry2023-02-287-19/+25
| | | | req_cmm is more informative than js_skip
* JS: fix for overlap with copyMutableByteArray# (#23033)Sylvain Henry2023-02-286-14/+48
| | | | | | The code wasn't taking into account some kind of overlap. cgrun070 has been extended to test the missing case.