summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Don't warn about ClassOp bindings not specialising.Andreas Klebinger2021-05-114-0/+57
| | | | Fixes #19586
* EPA: Use custom AnnsIf structure for HsIf and HsCmdIfAlan Zimmerman2021-05-119-16/+72
| | | | | | | This clearly identifies the presence and location of optional semicolons in an if statement. Closes #19813
* Minor refactoring in WorkWrapSimon Peyton Jones2021-05-111-15/+7
| | | | | | This patch just does the tidying up from #19805. No change in behaviour.
* Expand Note [Data con representation].Andreas Klebinger2021-05-111-4/+30
| | | | Not perfect. But I consider this to be a documentation fix for #19789.
* EPA: properly capture leading semicolons in statement listsAlan Zimmerman2021-05-097-8/+24
| | | | | | | | | | | | | | For the fragment blah = do { ; print "a" ; print "b" } capture the leading semicolon before 'print "a"' in 'al_rest' in AnnList instead of in 'al_trailing'. Closes #19798
* EPA: update some comments in Annotations.Alan Zimmerman2021-05-081-119/+82
| | | | Follow-up from !2418, see #19579
* Fix newtype eta-reductionSimon Peyton Jones2021-05-078-18/+130
| | | | | | | | The eta-reduction we do for newype axioms was generating an inhomogeneous axiom: see #19739. This patch fixes it in a simple way; see GHC.Tc.TyCl.Build Note [Newtype eta and homogeneous axioms]
* rts: Correctly call pthread_setname_np() on NetBSDPHO2021-05-074-5/+34
| | | | | | NetBSD supports pthread_setname_np() but it expects a printf-style format string and a string argument. Also use pthread for itimer on this platform.
* rts/posix/OSThreads.c: Implement getNumberOfProcessors() for NetBSDPHO2021-05-071-6/+19
|
* Allow visible type application for levity-poly data consSimon Peyton Jones2021-05-0729-387/+707
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch was driven by #18481, to allow visible type application for levity-polymorphic newtypes. As so often, it started simple but grew: * Significant refactor: I removed HsConLikeOut from the client-independent Language.Haskell.Syntax.Expr, and put it where it belongs, as a new constructor `ConLikeTc` in the GHC-specific extension data type for expressions, `GHC.Hs.Expr.XXExprGhcTc`. That changed touched a lot of files in a very superficial way. * Note [Typechecking data constructors] explains the main payload. The eta-expansion part is no longer done by the typechecker, but instead deferred to the desugarer, via `ConLikeTc` * A little side benefit is that I was able to restore VTA for data types with a "stupid theta": #19775. Not very important, but the code in GHC.Tc.Gen.Head.tcInferDataCon is is much, much more elegant now. * I had to refactor the levity-polymorphism checking code in GHC.HsToCore.Expr, see Note [Checking for levity-polymorphic functions] Note [Checking levity-polymorphic data constructors]
* [ci] Default values for CI_COMMIT_BRANCH, CI_PROJECT_PATHMoritz Angermann2021-05-071-2/+2
|
* [darwin] stop the DYLD_LIBRARY_PATH madnessMoritz Angermann2021-05-071-5/+2
| | | | | | | | this causes *significant* slowdown on macOS as the linker ends up looking through all the paths. Slowdown can be as bad as 100% or more. (cherry picked from commit 820b0766984d42c06c977a6c32da75c429106f7f)
* [ci/nix-shell] uniquify NIX_LDFLAGS{_FOR_TARGET}Moritz Angermann2021-05-071-1/+11
| | | | (cherry picked from commit 07b1af0362beaaf221cbee7b17bbe0a5606fd87d)
* [testsuite/arm64] fix section_alignmentMoritz Angermann2021-05-071-1/+1
| | | | (cherry picked from commit f7062e1b0c91e8aa78e245a3dab9571206fce16d)
* [testsuite] static001 is not broken anymore.Moritz Angermann2021-05-071-1/+2
| | | | (cherry picked from commit b821fcc7142edff69aa4c47dc1a5bd30b13c1ceb)
* [ci/nix-shell] [Darwin] Stop the ld warnings about libiconv.Moritz Angermann2021-05-071-0/+3
| | | | (cherry picked from commit c3944bc89d062a4850946904133c7a1464d59012)
* [testsuite/json2] Fix failure with LLVM backendsMoritz Angermann2021-05-071-2/+6
| | | | | | | -Wno-unsupported-llvm-version should suppress the LLVM version missmatch warning that messes up the output. (cherry picked from commit 63455300625fc12b2aafc3e339eb307510a6e8bd)
* [ci/nix-shell] Add Foundation and SecurityMoritz Angermann2021-05-071-3/+3
| | | | (cherry picked from commit 4bea83afec009dfd3c6313cac4610d00ba1f9a3d)
* [testsuite] filter out superfluous dylib warningsMoritz Angermann2021-05-071-3/+18
| | | | (cherry picked from commit 33c4d497545559a38bd8d1caf6c94e5e2a77647b)
* [Darwin] mark stdc++ tests as brokenMoritz Angermann2021-05-071-10/+10
| | | | | | There is no libstdc++, only libc++ (cherry picked from commit 57671071adeaf0b45e86bb0ee050e007e3b161fb)
* [Aarch64] No div-by-zero; disable test.Moritz Angermann2021-05-071-0/+5
| | | | (cherry picked from commit 3592d1104c47b006fd9f4127d93916f477a6e010)
* [testsuite/darwin] fix conc059Moritz Angermann2021-05-071-0/+2
| | | | | | | | | | | | | | This resolves the following: Compile failed (exit code 1) errors were: conc059_c.c:27:5: error: error: implicitly declaring library function 'exit' with type 'void (int) __attribute__((noreturn))' [-Werror,-Wimplicit-function-declaration] exit(0); ^ conc059_c.c:27:5: error: note: include the header <stdlib.h> or explicitly provide a declaration for 'exit' (cherry picked from commit 5a6c36ecb41fccc07c1b01fe0f330cd38c2a0c76)
* [ci] Default value for MAKE_ARGSMoritz Angermann2021-05-071-2/+2
| | | | | | | We don't pass MAKE_ARGS for windows builds, so this should unbreak them. (cherry picked from commit 16c13d5acfdc8053f7de9e908cc9d845e9bd34bb)
* [ci] default value for CONFIGURE_ARGSMoritz Angermann2021-05-071-1/+1
| | | | (cherry picked from commit 307d34945b7d932156e533736c91097493e6181b)
* [testlib/driver] denoiseMoritz Angermann2021-05-072-6/+11
| | | | | | | | | | this prevents the testlib/driver to be overly noisy, and will also kill some noise produiced by the aarch64-darwin cc (for now). Fixing sysctl, will allow us to run the test's properly in a nix-shell on aarch64-darwin (cherry picked from commit 5109e87e13ab45d799db2013535f54ca35f1f4dc)
* [ci] Add support for building on aarch64-darwinMoritz Angermann2021-05-073-29/+265
| | | | | | | This will fail for now. But allows us to add aarch64-darwin machines to CI. (cherry picked from commit a7d22795ed118abfe64f4fc55d96d8561007ce1e)
* hadrian: Don't depend upon bash from PATHBen Gamari2021-05-066-7/+30
| | | | | | | | Previously Hadrian depended implicitly upon whatever `bash` it found in `PATH`, offerring no way for the user to override. Fix this by detecting `sh` in `configure` and passing the result to Hadrian. Fixes #19797.
* Disallow -XDerivingVia when -XSafe is on (#19786)Aaron Allen2021-05-064-1/+23
| | | | | Since `GeneralizedNewtypeDeriving` is considered unsafe, `DerivingVia` should be as well.
* Bump binary submoduleBen Gamari2021-05-061-0/+0
| | | | Fixes #19631.
* rts/posix/GetTime.c: Use Solaris-specific gethrvtime(3) on OpenSolaris ↵PHO2021-05-061-0/+10
| | | | | | derivatives The constant CLOCK_THREAD_CPUTIME_ID is defined in a system header but it isn't acutally usable. clock_gettime(2) always returns EINVAL.
* EPA: properly capture semicolons between Matches in a FunBindAlan Zimmerman2021-05-069-64/+88
| | | | | | | | | | | | | | | For the source module MatchSemis where { a 0 = 1; a _ = 2; } Make sure that the AddSemiAnn entries for the two trailing semicolons are attached to the component Match elements. Closes #19784
* 19486 Nearly all uses of `uniqCompareFS` are dubious and lack a ↵Sasha Bogicevic2021-05-067-10/+17
| | | | non-determinism justification
* Use fix-sized arithmetic primops for fixed size boxed typesJohn Ericson2021-05-063-108/+239
| | | | | | | | | | | We think the compiler is ready, so we can do this for all over the 8-, 16-, and 32-bit boxed types. We are holding off on doing all the primops at once so things are easier to investigate. Metric Decrease: T12545
* Re-introduce Note [keepAlive# magic]Ben Gamari2021-05-063-1/+148
| | | | | | | | Somewhere in the course of forward- and back-porting the keepAlive# branch the Note which described the mechanism was dropped. Reintroduce it. Closes #19712.
* Add an .editorconfig fileHécate Moonlight2021-05-051-0/+14
| | | | closes #19793
* support LiftedRep and UnliftedRep in GHCi FFILuite Stegeman2021-05-054-17/+44
| | | | fixes #19733
* More specific error messages for annotations (fixes #19740)Jaro Reinders2021-05-056-21/+23
|
* test driver: Make sure RESIDENCY_OPTS is passed for 'all' perf testsMatthew Pickering2021-05-053-13/+34
| | | | | | | | | | | | Fixes #19731 ------------------------- Metric Decrease: T11545 Metric Increase: T12545 T15304 -------------------------
* Add some DriverMessage type constructorsAlfredo Di Napoli2021-05-058-106/+270
| | | | | | | | | | | | | | | | | | | | | | | This commit expands the DriverMessage type with new type constructors, making the number of diagnostics GHC can emit richer. In particular: * Add DriverMissingHomeModules message * Add DriverUnusedPackage message * Add DriverUnnecessarySourceImports message This commit adds the `DriverUnnecessarySourceImports` message and fixes a small bug in its reporting: inside `warnUnnecessarySourceImports` we were checking for `Opt_WarnUnusedSourceImports` to be set, but we were emitting the diagnostic with `WarningWithoutFlag`. This also adjusts the T10637 test to reflect that. * Add DriverDuplicatedModuleDeclaration message * Add DriverModuleNotFound message * Add DriverFileModuleNameMismatch message * Add DriverUnexpectedSignature message * Add DriverFileNotFound message * Add DriverStaticPointersNotSupported message * Add DriverBackpackModuleNotFound message
* configure: Move libdw search logic to macroBen Gamari2021-05-052-53/+58
|
* configure: Move libnuma check to macroBen Gamari2021-05-052-57/+61
|
* configure: Move pthreads checks to macroBen Gamari2021-05-052-95/+102
|
* Break up aclocal.m4Ben Gamari2021-05-0569-2742/+2640
|
* Persist CorePrepProv into IfaceUnivCoProvSimon Peyton Jones2021-05-0416-63/+84
| | | | | | | | | | | | | | | | CorePrepProv is only created in CorePrep, so I thought it wouldn't be needed in IfaceUnivCoProv. But actually IfaceSyn is used during pretty-printing, and we can certainly pretty-print things after CorePrep as #19768 showed. So the simplest thing is to represent CorePrepProv in IfaceSyn. To improve what Lint can do I also added a boolean to CorePrepProv, to record whether it is homogeneously kinded or not. It is introduced in two distinct ways (see Note [Unsafe coercions] in GHC.CoreToStg.Prep), one of which may be hetero-kinded (e.g. Int ~ Int#) beause it is casting a divergent expression; but the other is not. The boolean keeps track.
* Tweak function `quantifyType` to fix #12449Roland Senn2021-05-049-38/+75
| | | | | | | | | | | In function `compiler/GHC/Runtime/Heap/Inspect.hs:quantifyType` replace `tcSplitForAllInvisTyVars` by `tcSplitNestedSigmaTys`. This will properly split off the nested foralls in examples like `:print fmap`. Do not remove the `forall`s from the `snd` part of the tuple returned by `quantifyType`. It's not necessary and the reason for the bug in #12449. Some code simplifications at the calling sites of `quantifyTypes`.
* Improve hs-boot binds error (#19781)sheaf2021-05-037-10/+52
|
* visually align expected and actual modules nameiori tsu2021-05-033-3/+3
| | | | | | | | | | | | | | | | | | | | before: > /home/matt/Projects/persistent/persistent/Database/Persist/ImplicitIdDef.hs:1:8: error: > File name does not match module name: > Saw: ‘A.B.Module’ > Expected: ‘A.B.Motule’ > | > 1 | module A.B.Motule > | ^^^^^^^^^^> after: > /home/matt/Projects/persistent/persistent/Database/Persist/ImplicitIdDef.hs:1:8: error: > File name does not match module name: > Saw: ‘A.B.Module’ > Expected: ‘A.B.Motule’ > | > 1 | module A.B.Motule > | ^^^^^^^^^^>
* Disable HLint coloursHécate Moonlight2021-05-031-2/+3
| | | | closes #19776
* Remove duplicate modules in GHCi %s promptPhilipp Dargel2021-05-031-1/+1
| | | | fixes #19757
* pe: enable code unloading for WindowsTamar Christina2021-05-032-6/+3
|