summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* [armv7] arm32 needs symbols!Moritz Angermann2021-03-302-3/+5
| | | | (cherry picked from commit ead8daaea9bb9150fc3c66851f4b9db8afd801eb)
* [testlib] ignore strip warningsMoritz Angermann2021-03-301-0/+4
| | | | (cherry picked from commit 4bc31a87db3c89212740e8b176114be8723b27ab)
* [aarch64-darwin] be very careful of warnings.Moritz Angermann2021-03-301-0/+1
| | | | | | | | | So we did *not* have the stgCallocBytes prototype, and subsequently the C compiler defaulted to `int` as a return value. Thus generating sxtw instructions for the return value of stgCalloBytes to produce the expected void *. (cherry picked from commit 273e1f6d6886eb226699071184bb25dd463e8f82)
* [rts] cast return value to struct.Moritz Angermann2021-03-301-1/+1
| | | | (cherry picked from commit 89fc14cce3a80ffe02601bae5428401fd43ce4b7)
* [linker] no munmap if either agument is invalid.Moritz Angermann2021-03-301-1/+4
| | | | (cherry picked from commit 608f74a2235a2e545fb9b80a80ceb5ee448ef8e5)
* [testsuite] Fix SubsectionsViaSymbols testMoritz Angermann2021-03-302-1/+2
| | | | (cherry picked from commit ffedf105a355a9a7f1e3c6754cecb6709ef45d3a)
* [linker/aarch64-elf] support section symbols for GOT relocationMoritz Angermann2021-03-301-1/+7
| | | | (cherry picked from commit df0cb80073e962c8d2b144638e788eb11ca0d42e)
* [linker] align prototype with implementation signature.Moritz Angermann2021-03-301-2/+2
| | | | (cherry picked from commit eaea79c4ee1322a065c2059df74ee564c93968e4)
* [linker] SymbolExtras are only used on PPC and X86Moritz Angermann2021-03-302-5/+4
| | | | (cherry picked from commit eda8758fdee30f22f4e90b31a085b228f55892e4)
* [linker] Additional FALLTHROUGH decorations.Moritz Angermann2021-03-301-0/+2
| | | | (cherry picked from commit c63e14515ac659c1feba64a4615021253ee88c21)
* Allocate Adjustors and mark them readable in two stepsMoritz Angermann2021-03-3018-20/+90
| | | | | | | | | | | This drops allocateExec for darwin, and replaces it with a alloc, write, mark executable strategy instead. This prevents us from trying to allocate an executable range and then write to it, which X^W will prohibit on darwin. This will *only* work if we can use mmap. (cherry picked from commit 5d9afbb7503178cb6ca202eb0091a609d0791ab3)
* [macho] improved linker with proper plt supportMoritz Angermann2021-03-308-97/+311
| | | | | | This is a pre-requisite for making aarch64-darwin work. (cherry picked from commit fce156514768a716c691eb4ccab9e1265d5259e1)
* Implement -Wmissing-kind-signatureswip/ghc-9.2-mergeOleg Grenrus2021-03-2914-10/+297
| | | | | | Fixes #19564 (cherry picked from commit 0d5d344d45c200a5e731e7d067598acd2a4f7050)
* rts: Fix joinOSThread on WindowsBen Gamari2021-03-291-1/+6
| | | | | | | Previously we were treating the thread ID as a HANDLE, but it is not. We must first OpenThread. (cherry picked from commit 63a5c876657bb89e9847f325fb81df2229297eb3)
* EPA : Rename AnnComment to EpaCommentAlan Zimmerman2021-03-2920-591/+596
| | | | | | Follow-up from !2418, see #19579 (cherry picked from commit fcb3b0f6ad2f7d2d9ec27f7845a341544210357f)
* EPA : rename AnnAnchor to EpaAnchorAlan Zimmerman2021-03-2914-112/+112
| | | | | | Follow-up from !2418, see #19579 (cherry picked from commit 01f8412581b601841b9399cb4af696901eb37fc6)
* EPA : rename 'api annotations' to 'exact print annotations'Alan Zimmerman2021-03-2922-184/+182
| | | | | | | | In comments, and notes. Follow-up from !2418, see #19579 (cherry picked from commit 4241899c2013bdf3187cbfa9d646346c120e0d57)
* EPA : Rename ApiAnn to EPAnnAlan Zimmerman2021-03-2940-2529/+2503
| | | | | | Follow-up from !2418, see #19579 (cherry picked from commit 9f39cd4c85d6324e6093c109166ae743407266d1)
* EPA : Rename AddApiAnn to AddEpAnnAlan Zimmerman2021-03-2926-454/+435
| | | | | | | | | As port of the process of migrating naming from API Annotations to exact print annotations (EPA) Follow-up from !2418, see #19579 (cherry picked from commit 55d935ecd911b66d32431c328386b48f52e2d1d7)
* EPA: Tidy up some GHC.Parser.Annotation commentsAlan Zimmerman2021-03-291-14/+33
| | | | | | | | This is a follow up from !2418 / #19579 [skip ci] (cherry picked from commit c74bd3daa3468e495714647506cf30cf650d390d)
* EPA : Remove ApiAnn from ParsedModuleAlan Zimmerman2021-03-2929-1438/+202
| | | | | | | All the comments are now captured in the AST, there is no need for a side-channel structure for them. (cherry picked from commit c64c119d08531049acb33dba4afb7d0dfef57981)
* EPA: Run exactprint transformation tests as part of CIAlan Zimmerman2021-03-2985-1211/+1289
| | | | | | | | | | | | EPA == exact print annotations. When !2418 landed, it did not run the tests brought over from ghc-exactprint for making sure the AST prints correctly efter being edited. This enables those tests. (cherry picked from commit 25306ddc00c2236564bcfebd55a3f61ffa6d182e)
* Fix the binder-swap transformation in OccurAnalSimon Peyton Jones2021-03-295-53/+234
| | | | | | | | | | | | The binder-swap transformation needs to be iterated, as shown by #19581. The fix is pretty simple, and is explained in point (BS2) of Note [The binder-swap substitution]. Net effect: - sometimes, fewer simplifier iterations - sometimes, more case merging (cherry picked from commit b7f5f8b54ab8fe3665ec2282b6b1403d5483cf0b)
* libiserv: Add descriptionBen Gamari2021-03-291-2/+2
|
* ghc-boot: Use cabal-version: 3.0Ben Gamari2021-03-291-2/+3
|
* ghc-bignum: Add missing source files to cabal fileBen Gamari2021-03-291-0/+2
|
* Bump Win32 to 2.13.0.0GHC GitLab CI2021-03-275-2/+2
| | | | | | Bumps Win32 submodule. (cherry picked from commit e3ea5f5a3356a06471c20712854fd7a1a6965129)
* base: Update Unicode data to 13.0.0Ben Gamari2021-03-266-49/+101
|
* users guide: Note LLVM version requirement in release notesghc-9.3-startBen Gamari2021-03-231-0/+6
|
* users guide: Drop 9.0 release notesBen Gamari2021-03-232-475/+0
|
* configure: Bump version to 9.2Ben Gamari2021-03-232-1/+1
|
* Move loader state into InterpSylvain Henry2021-03-2321-579/+649
| | | | | | | | | | | | | | | | | | The loader state was stored into HscEnv. As we need to have two interpreters and one loader state per interpreter in #14335, it's natural to make the loader state a field of the Interp type. As a side effect, many functions now only require a Interp parameter instead of HscEnv. Sadly we can't fully free GHC.Linker.Loader of HscEnv yet because the loader is initialised lazily from the HscEnv the first time it is used. This is left as future work. HscEnv may not contain an Interp value (i.e. hsc_interp :: Maybe Interp). So a side effect of the previous side effect is that callers of the modified functions now have to provide an Interp. It is satisfying as it pushes upstream the handling of the case where HscEnv doesn't contain an Interpreter. It is better than raising a panic (less partial functions, "parse, don't validate", etc.).
* rts: Use long-path-aware statBen Gamari2021-03-233-4/+11
| | | | | | | | Previously `pathstat` relied on msvcrt's `stat` implementation, which was not long-path-aware. It should rather be defined in terms of the `stat` implementation provided by `utils/fs`. Fixes #19541.
* PPC NCG: Fix int to float conversionPeter Trommler2021-03-231-6/+26
| | | | | | | | In commit 540fa6b2 integer to float conversions were changed to round to the nearest even. Implement a special case for 64 bit integer to single precision floating point numbers. Fixes #19563.
* More improvement to MonoLocalBinds documentationSimon Peyton Jones2021-03-231-50/+35
|
* UniqSM: oneShot-ifyBen Gamari2021-03-221-10/+21
| | | | | | | | | | Part of #18202 ------------------------- Metric Decrease: T12707 T3294 -------------------------
* Short-circuit warning generation for partial type signaturesSimon Peyton Jones2021-03-221-2/+28
| | | | | | | | | | | | | | | | | | | | | | | | This Note says it all: Note [Skip type holes rapidly] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Suppose we have module with a /lot/ of partial type signatures, and we compile it while suppressing partial-type-signature warnings. Then we don't want to spend ages constructing error messages and lists of relevant bindings that we never display! This happened in #14766, in which partial type signatures in a Happy-generated parser cause a huge increase in compile time. The function ignoreThisHole short-circuits the error/warning generation machinery, in cases where it is definitely going to be a no-op. It makes a pretty big difference on the Sigs.hs example in #14766: Compile-time allocation GHC 8.10 5.6G Before this patch 937G With this patch 4.7G Yes, that's more than two orders of magnitude!
* base: Use mutableByteArrayContentsBen Gamari2021-03-223-13/+11
|
* compiler: Introduce mutableByteArrayContents# primopBen Gamari2021-03-222-0/+8
| | | | | As noted in #19540, a number of users within and outside of GHC rely on unsafeCoerceUnlifted to work around the fact that this was missing
* [ci] Default values for GITLAB_CI_BRANCH, and IGNORE_PERF_FAILURESwip/angerman/9.2-forward-portsMoritz Angermann2021-03-211-3/+3
|
* [llvm/darwin] change vortex cpu to genericMoritz Angermann2021-03-211-1/+1
| | | | | For now only the apple flavoured llvm knows vortex, as we build against other toolchains, lets stay with generic for now.
* [elf/aarch64] Fall Through decorationMoritz Angermann2021-03-211-4/+4
|
* [ci/arm/darwin/testsuite] Forwards ports from GHC-8.10Moritz Angermann2021-03-2114-64/+340
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a set of forward ports (cherry-picks) from 8.10 - a7d22795ed [ci] Add support for building on aarch64-darwin - 5109e87e13 [testlib/driver] denoise - 307d34945b [ci] default value for CONFIGURE_ARGS - 10a18cb4e0 [testsuite] mark ghci056 as fragile - 16c13d5acf [ci] Default value for MAKE_ARGS - ab571457b9 [ci/build] Copy config.sub around - 251892b98f [ci/darwin] bump nixpkgs rev - 5a6c36ecb4 [testsuite/darwin] fix conc059 - aae95ef0c9 [ci] add timing info - 3592d1104c [Aarch64] No div-by-zero; disable test. - 57671071ad [Darwin] mark stdc++ tests as broken - 33c4d49754 [testsuite] filter out superfluous dylib warnings - 4bea83afec [ci/nix-shell] Add Foundation and Security - 6345530062 [testsuite/json2] Fix failure with LLVM backends - c3944bc89d [ci/nix-shell] [Darwin] Stop the ld warnings about libiconv. - b821fcc714 [testsuite] static001 is not broken anymore. - f7062e1b0c [testsuite/arm64] fix section_alignment - 820b076698 [darwin] stop the DYLD_LIBRARY_PATH madness - 07b1af0362 [ci/nix-shell] uniquify NIX_LDFLAGS{_FOR_TARGET} As well as a few additional fixups needed to make this block compile: - Fixup all.T - Set CROSS_TARGET, BROKEN_TESTS, XZ, RUNTEST_ARGS, default value. - [ci] shell.nix bump happy
* Remove unnecessary extendTyVarEnvFVRn functionRyan Scott2021-03-213-11/+6
| | | | | | | | | | | The `extendTyVarEnvFVRn` function does the exact same thing as `bindLocalNamesFV`. I see no meaningful distinction between the two functions, so let's just remove the former (which is only used in a handful of places) in favor of the latter. Historical note: `extendTyVarEnvFVRn` and `bindLocalNamesFV` used to be distinct functions, but their implementations were synchronized in 2004 as a part of commit 20e39e0e07e4a8e9395894b2785d6675e4e3e3b3.
* Bump template-haskell version to 2.18.0.0wip/T19083Ryan Scott2021-03-206-6/+6
| | | | | | | This requires bumping the `exceptions` and `text` submodules to bring in commits that bump their respective upper version bounds on `template-haskell`. Fixes #19083.
* Move miscategorized items in template-haskell changelogRyan Scott2021-03-201-6/+6
|
* Clean up TBDs in changelogBen Gamari2021-03-201-1/+7
| | | | (cherry picked from commit 4f334120c8e9cc4aefcbf11d99f169f648af9fde)
* gitlab-ci: Always start with fresh clonewip/ci-fixes-2Ben Gamari2021-03-201-0/+3
| | | | | Currently we are suffering from issues that appear to be caused by non-hermetic builds. Try avoiding this by setting `GIT_STRATEGY` to `clone`.
* Add error information to osCommitMemory on failure.Moritz Angermann2021-03-201-1/+1
|
* Remove outdated VagrantfileSebastian Graf2021-03-201-50/+0
|