summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Make all submodules have absolute URLsghc-8.6Artem Pelenitsyn2019-12-231-34/+34
| | | | | | | | | | | | | | | The relative URLs were a workaround to let most contributors fork from Github due to a weakness in the haskell.org server. This workaround is no longer needed. And relative submodule URLs are an impediment to forking which makes contributions harder than they should be. The URLs are chosen to clone from https, because this makes sure that anybody, even not a registered Gitlab user, can clone a fork recursively. (cherry picked from commit a76b233d5a598b12f1921405cdcb27b0ea1b809d)
* Fix optSemi type in Parser.yVladislav Zavialov2019-10-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | The definition of 'optSemi' claimed it had type ([Located a],Bool) Note that its production actually returns ([Located Token],Bool): : ';' { ([$1],True) } -- $1 :: Located Token Due to an infelicity in the implementation of 'happy -c', it effectively resulted in 'unsafeCoerce :: Token -> a'. See https://github.com/simonmar/happy/pull/134 If any consumer of 'optSemi' tried to instantiate 'a' to something not representationally equal to 'Token', they would experience a segfault. In addition to that, this definition made it impossible to compile Parser.y without the -c flag (as it's reliant on this bug to cast 'Token' to 'forall a. a'). (cherry picked from commit 071bef18ccafb134ab886da9e362689b9f092dd3)
* Release 8.6.5ghc-8.6.5-releaseBen Gamari2019-04-221-2/+2
|
* gitlab-ci: Fix YAML syntaxBen Gamari2019-04-211-2/+2
|
* gitlab-ci: Disable Sphinx PDF output on Debian 8Ben Gamari2019-04-191-0/+3
|
* gitlab-ci: Enable -haddock while building ghc libraryTakenobu Tani2019-04-192-1/+5
| | | | Fixing #16415. This is a variant of @takenobu-hs's !769.
* gitlab-ci: Add centos7 release jobBen Gamari2019-04-191-2/+44
|
* Do not build i386 Windows with profiled librariesBen Gamari2019-04-191-0/+2
| | | | Due to #15934
* Move 8.6.5-notes.rst to docs/users_guideBen Gamari2019-04-081-0/+0
|
* users-guide: Mention fix to #16514Ben Gamari2019-04-071-0/+3
|
* users-guide: Fix version number referenceBen Gamari2019-04-071-1/+1
|
* users-guide: Add missing libraries to release notes library listghc-8.6.5-rc1Ben Gamari2019-04-061-0/+5
|
* Add release notes for 8.6.5Ben Gamari2019-04-062-0/+69
|
* configure: Always use AC_LINK_ELSEIF when testing against assemblerwip/ghc-8.6-mergesBen Gamari2019-04-041-5/+33
| | | | | | | | | | | | This fixes #16440, where the build system incorrectly concluded that the `.subsections_via_symbols` assembler directive was supported on a Linux system. This was caused by the fact that gcc was invoked with `-flto`; when so-configured gcc does not call the assembler but rather simply serialises its AST for compilation during the final link. This is described in Note [autoconf assembler checks and -flto]. (cherry picked from commit 7b090b53fea065d2cfd967ea919426af9ba8d737)
* Restore Xmm registers properly in StgCRun.cklebinger.andreas@gmx.at2019-04-041-9/+9
| | | | | | | This fixes #16514: Xmm6-15 was restored based off rax instead of rsp. The code was introduced in the fix for #14619. (cherry picked from commit 9b131500371a07626e33edc56700c12322364560)
* gitlab-ci: Build hyperlinked sources for releasesBen Gamari2019-04-041-0/+6
| | | | | | Fixes #16445. (cherry picked from commit a32ac2f4d963b657c0a53359b492c593e82304b1)
* Fix #16219: TemplateHaskell causes indefinite package build errorEdward Z. Yang2019-03-2911-0/+137
| | | | | | | | | | | | | | | | | | | | | | | | | | It should work to write an indefinite package using TemplateHaskell, so long as all of the actual TH code lives outside of the package. However, cleverness we had to build TH code even when building with -fno-code meant that we attempted to build object code for modules in an indefinite package, even when the signatures were not instantiated. This patch disables said logic in the event that an indefinite package is being typechecked. Signed-off-by: Edward Z. Yang <ezyang@fb.com> Test Plan: validate Reviewers: simonpj, bgamari Reviewed By: bgamari Subscribers: rwbarton, carter GHC Trac Issues: #16219 Differential Revision: https://phabricator.haskell.org/D5475 (cherry picked from commit d6d735c1114082b9e9cc1ba7da87c49f52891320)
* Don't overwrite the set log_action when using --interactiveMatthew Pickering2019-03-291-4/+8
| | | | | | | | | | | | | | | -ddump-json didn't work with --interactive as --interactive overwrote the log_action in terms of defaultLogAction. Reviewers: bgamari Subscribers: rwbarton, thomie, carter GHC Trac Issues: #14078 Differential Revision: https://phabricator.haskell.org/D4533 (cherry picked from commit 10faf44d97095b2f8516b6d449d266f6889dcd70)
* Introduce i386-windows jobBen Gamari2019-03-212-3/+45
|
* gitlab-ci: Don't build Windows in quick flavourBen Gamari2019-03-191-1/+0
| | | | This applies the fix from !516 to the 8.6 branch.
* Set RELEASE=NOBen Gamari2019-03-051-1/+1
|
* Bump to 8.6.4ghc-8.6.4-releaseBen Gamari2019-03-041-1/+1
|
* gitlab-ci: Drop CircleCI jobsBen Gamari2019-03-021-29/+0
|
* gitlab-ci: Produce DWARF-enabled binary distributionBen Gamari2019-03-022-1/+30
| | | | (cherry picked from commit d298cb9cf722126316c9697c20a8e0048498efb9)
* gitlab-ci: Pull docker images from ghc/ci-images registryBen Gamari2019-03-021-11/+13
| | | | (cherry picked from commit b90695cdaaa0995c1b7a26289c63be9f9e9cfe3e)
* Fix regression incorrectly advertising TH supportghc-8.6-mergesHerbert Valerio Riedel2019-02-201-0/+8
| | | | | | | | | | `--supported-languages` must only advertise language extensions which are supported by the compiler in order for tooling such as Cabal relying on this signalling not to behave incorrectly. Fixes #16331 (cherry picked from commit db4372cda7f6c87e7ad26efe3fca4b3f7f527a48)
* Fix two bugs in stg_ap_0_fast in profiling runtimeÖmer Sinan Ağacan2019-02-201-7/+11
| | | | | | | | | | | | | | | | | | | | This includes two bug fixes in profiling version of stg_ap_0_fast: - PAPs allocated by stg_ap_0_fast are now correctly tagged. This invariant is checked in Sanity.c:checkPAP. (This was originally implemented in 2693eb11f5, later reverted with ab55b4ddb7 because it revealed the bug below, but it wasn't clear at the time whether the bug was the one below or something in the commit) - The local variable `untaggedfun` is now marked as a pointer so it survives GC. With this we finally fix all known bugs caught in #15508. `concprog001` now works reliably with prof+threaded and prof runtimes (with and without -debug). (cherry picked from commit 908b4b8659713f0b7a1704ce33c7fa30e3e0ffc3)
* users-guide: Some more release notes for 8.6.4Ben Gamari2019-02-121-0/+12
|
* Stack: fix name mangling.Tamar Christina2019-02-104-1/+95
| | | | (cherry picked from commit fb031b9b046e48ffe0d2864ec76bee3bc8ff5625)
* GhcPlugins: Fix lookup of TH namesBen Gamari2019-02-101-2/+3
| | | | | | | | | | | | | Previously `thNameToGhcName` was calling `lookupOrigNameCache` directly, which failed to handle the case that the name wasn't already in the name cache. This happens, for instance, when the name was in scope in a plugin being used during compilation but not in scope in the module being compiled. In this case we the interface file containing the name won't be loaded and `lookupOrigNameCache` fails. This was the cause of #16104. The solution is simple: use the nicely packaged `lookupOrigIO` instead. (cherry picked from commit 0d9f105ba423af4f2ca215a18d04d4c8e2c372a8)
* testsuite: Add test for #16104Ben Gamari2019-02-109-0/+75
|
* testsuite: Mark ghci063 as broken on DarwinBen Gamari2019-02-091-1/+1
| | | | | | | This is the last failing test on Darwin preventing us from disallowing CI failures. See #16201. (cherry picked from commit 0b705fadf936eaf48aaca26d2f7c8c9ae9158c66)
* Bump transformers to 0.5.6.2Ben Gamari2019-02-021-0/+0
| | | | See #16199.
* Bump process submodule to 1.6.4.0Ben Gamari2019-02-021-0/+0
| | | | See #16199
* Fix checkPtrInArenaÖmer Sinan Ağacan2019-01-281-2/+11
| | | | | | (See comments) (cherry picked from commit 448f0e7dd78a8d9404f1aa5e8522cc284360c06d)
* Fix raiseAsync() UNDERFLOW_FRAME handling in profiling runtimeÖmer Sinan Ağacan2019-01-282-8/+8
| | | | | | | | | UNDERFLOW_FRAMEs don't have profiling headers so we have to use the AP_STACK's function's CCS as the new frame's CCS. Fixes one of the many bugs caught by concprog001 (#15508). (cherry picked from commit 74cd4ec5d2f9321aad5db3285cb60d78f2562996)
* Implement a sanity check for CCS fields in profiling buildsÖmer Sinan Ağacan2019-01-285-0/+44
| | | | | | | This helped me debug one of the bugs in #15508. I'm not sure if this is a good idea, but it worked for me, so wanted to submit this as a MR. (cherry picked from commit 82d1a88dec216d761b17252ede760da5c566007f)
* Fix a MSG_BLACKHOLE sanity check, add some commentsÖmer Sinan Ağacan2019-01-282-3/+12
| | | | | | | | | | | | | | Reviewers: simonmar, bgamari, erikd Reviewed By: simonmar Subscribers: rwbarton, carter GHC Trac Issues: #15508 Differential Revision: https://phabricator.haskell.org/D5178 (cherry picked from commit d90946cea1357d3e99805c27dab1e811785a4088)
* rts: Use always-available locking operations in pthread Itimer implementationBen Gamari2019-01-281-6/+6
| | | | | | | | Previously we ACQUIRE_LOCK and RELEASE_LOCK but these compile to a noop in the non-threaded RTS, as noted in #16150. Use OS_ACQUIRE_LOCK and OS_RELEASE_LOCK instead. (cherry picked from commit ce11f6f25c1160262830d9670c4eaaebac37cbaf)
* itimer: Don't free condvar until we know ticker is stoppedBen Gamari2019-01-281-2/+2
| | | | | | | | | | | | | When we are shutting down the pthread ticker we signal the start_cond condition variable to ensure that the ticker thread wakes up and exits in a reasonable amount of time. Previously, when the ticker thread would shut down it was responsible for freeing the start_cond condition variable. However, this would lead to a race wherein the ticker would free start_cond, then the main thread would try to signal it in an effort to wake the ticker (#16150). Avoid this by moving the mutex destruction to the main thread. (cherry picked from commit 7b12b3f0240321ac1ee43f14eb9c07e015022eeb)
* Fix bogus worker for newtypesSimon Peyton Jones2019-01-281-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. (cherry picked from commit a5373c1fe172dee31e07bcb7c7f6caff1035e6ba)
* PPC NCG: Implement simple 64-Bit compare on 32-bitPeter Trommler2019-01-171-161/+181
|
* gitlab: Collect artifacts on WindowsBen Gamari2019-01-151-0/+10
|
* Release notes for 8.6.4wip/ghc-8.6-backportsBen Gamari2019-01-102-0/+65
|
* Fix recompilation bug with default class methods (#15970)Simon Marlow2019-01-077-13/+134
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a module uses a class, then it can instantiate the class and thereby use its default methods, so we must include the default methods when calculating the fingerprint for the class. Test Plan: New unit test: driver/T15970 Before: ``` =====> T15970(normal) 1 of 1 [0, 0, 0] cd "T15970.run" && $MAKE -s --no-print-directory T15970 Wrong exit code for T15970()(expected 0 , actual 2 ) Stdout ( T15970 ): Makefile:13: recipe for target 'T15970' failed Stderr ( T15970 ): C.o:function Main_zdfTypeClassMyDataType1_info: error: undefined reference to 'A_toTypedData2_closure' C.o:function Main_main1_info: error: undefined reference to 'A_toTypedData2_closure' C.o(.data+0x298): error: undefined reference to 'A_toTypedData2_closure' C.o(.data+0x480): error: undefined reference to 'A_toTypedData2_closure' collect2: error: ld returned 1 exit status `gcc' failed in phase `Linker'. (Exit code: 1) ``` After: test passes. Reviewers: bgamari, simonpj, erikd, watashi, afarmer Subscribers: rwbarton, carter GHC Trac Issues: #15970 Differential Revision: https://phabricator.haskell.org/D5394 (cherry picked from commit 288f681e06accbae690c46eb8a6e997fa9e5f56a)
* testsuite: Mark objcpp-hi and T13366 as broken on Darwin due to #16083Ben Gamari2018-12-302-1/+5
| | | | (cherry picked from commit 1c0c5e844226f3d77af31d97b21ffb8b14b55740)
* testsuite: Mark heapprof001 as broken in prof_hc_hb way on i386Ben Gamari2018-12-301-1/+3
| | | | | | | | As documented in #15382, this is known to fail in prof_hc_hb on i386. Concerningly, I have also seen this test non-deterministically fail in prof_hc_hb on amd64. We should really investigate this. (cherry picked from commit 8fd3f9a67f9c7b447a5bfcb3aefd8986794918ce)
* gitlab-ci: Allow integer-simple and unregisterised builds to failBen Gamari2018-12-291-0/+3
|
* testsuite: Skip ffi018_ghci when unregisterisedBen Gamari2018-12-291-0/+2
| | | | | | As noted in #16085 this test is fragile in unregisterised compilers. (cherry picked from commit 7bfc1e81377d1e37069cf52bd090530124dcd871)
* gitlab-ci: Skip performance testsBen Gamari2018-12-271-1/+1
| | | | These are just too fragile on ghc-8.6 which lacks #12758.