summaryrefslogtreecommitdiff
path: root/libraries/stm
Commit message (Collapse)AuthorAgeFilesLines
* Bump ghc-prim and base versionsBen Gamari2022-06-271-0/+0
| | | | | | | | | To 0.9.0 and 4.17.0 respectively. Bumps array, deepseq, directory, filepath, haskeline, hpc, parsec, stm, terminfo, text, unix, haddock, and hsc2hs submodules. (cherry picked from commit ba47b95122b7b336ce1cc00896a47b584ad24095)
* testsuite: Remove reqlib modifierMatthew Pickering2021-12-221-0/+0
| | | | | | | | | | | | | | | | | | | | The reqlib modifer was supposed to indicate that a test needed a certain library in order to work. If the library happened to be installed then the test would run as normal. However, CI has never run these tests as the packages have not been installed and we don't want out tests to depend on things which might get externally broken by updating the compiler. The new strategy is to run these tests in head.hackage, where the tests have been cabalised as well as possible. Some tests couldn't be transferred into the normal style testsuite but it's better than never running any of the reqlib tests. https://gitlab.haskell.org/ghc/head.hackage/-/merge_requests/169 A few submodules also had reqlib tests and have been updated to remove it. Closes #16264 #20032 #17764 #16561
* submodule update: containers and stmTom Ellis2020-12-171-0/+0
| | | | | | Needed for https://gitlab.haskell.org/ghc/ghc/-/issues/15656 as it stops the packages triggering incomplete-uni-patterns and incomplete-record-updates
* Version bump: base-4.16 (#18712)Vladislav Zavialov2020-10-271-0/+0
| | | | Also bumps upper bounds on base in boot libraries (incl. submodules).
* base: Bump to 4.15.0.0Ben Gamari2020-06-171-0/+0
|
* Bump stm and process submodulesBen Gamari2020-02-081-0/+0
|
* base: Bump version to 4.14.0.0Ben Gamari2019-11-141-0/+0
| | | | | Metric Increase: T4801
* Update stm submoduleHerbert Valerio Riedel2019-01-311-0/+0
|
* Bump stm submoduleBen Gamari2018-09-181-0/+0
| | | | (cherry picked from commit f458bca3a9667af95b8782747eab5b0e70cba4b4)
* Bump stm submoduleBen Gamari2018-08-201-0/+0
|
* Update submoduleSimon Marlow2018-07-131-0/+0
|
* Bump stm and haskeline submodulesBen Gamari2018-06-041-0/+0
|
* Bump version of stm submodule back to 2.4Ben Gamari2018-06-021-0/+0
| | | | Haskeline doesn't have its upper bound lifted yet.
* rts: Rip out support for STM invariantsBen Gamari2018-06-021-0/+0
| | | | | | | | | | | | | | | | | | | | | | | This feature has some very serious correctness issues (#14310), introduces a great deal of complexity, and hasn't seen wide usage. Consequently we are removing it, as proposed in Proposal #77 [1]. This is heavily based on a patch from fryguybob. Updates stm submodule. [1] https://github.com/ghc-proposals/ghc-proposals/pull/77 Test Plan: Validate Reviewers: erikd, simonmar, hvr Reviewed By: simonmar Subscribers: rwbarton, thomie, carter GHC Trac Issues: #14310 Differential Revision: https://phabricator.haskell.org/D4760
* Bump base to version 4.12.0.0Ryan Scott2018-04-191-0/+0
| | | | | | | | | | | | | | | | Summary: Bumps several submodules. Test Plan: ./validate Reviewers: hvr, bgamari Reviewed By: bgamari Subscribers: thomie, carter GHC Trac Issues: #15018 Differential Revision: https://phabricator.haskell.org/D4609
* Bump stm submodule to 2.4.5.0Ben Gamari2018-02-191-0/+0
|
* Bump stm submoduleBen Gamari2017-11-211-0/+0
|
* Add 'stm' package to the global package databaseHerbert Valerio Riedel2017-09-201-0/+0
| | | | | | | | | | | | | | | | | | This is a preparation for `haskeline` picking up a dependency on `stm` real soon now. See https://github.com/judah/haskeline/pull/61 for details. If we figure out a way to not bundle the libraries depended upon by the GHCi executable in the global package database (see #8919 for the original reason why we had to start bundling terminfo/haskeline in the first place) we can get rid of `stm` again... On the bright side, we were able to avoid uploading new `stm` releases for over two years already, so it shouldn't cause too much trouble if GHC imposes a strong preference on the `stm` package's version (this most likely will mostly affect Linux distributions & similiar). While at it, this also update the stm submodule to include relaxed bounds to allow the upcoming base-4.11 version.
* Model divergence of retry# as ThrowsExn, not DivergesBen Gamari2017-09-131-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The demand signature of the retry# primop previously had a Diverges result. However, this caused the demand analyser to conclude that a program of the shape, catchRetry# (... >> retry#) would diverge. Of course, this is plainly wrong; catchRetry#'s sole reason to exist is to "catch" the "exception" thrown by retry#. While catchRetry#'s demand signature correctly had the ExnStr flag set on its first argument, indicating that it should catch divergence, the logic associated with this flag doesn't apply to Diverges results. This resulted in #14171. The solution here is to treat the divergence of retry# as an exception. Namely, give it a result type of ThrowsExn rather than Diverges. Updates stm submodule for tests. Test Plan: Validate with T14171 Reviewers: simonpj, austin Subscribers: rwbarton, thomie GHC Trac Issues: #14171, #8091 Differential Revision: https://phabricator.haskell.org/D3919
* base: Bump version to 4.10.0.0Ben Gamari2016-12-151-0/+0
| | | | Updates a number of submodules.
* Testsuite: use ignore_stderr/stdout instead of ignore_outputThomas Miedema2016-06-291-0/+0
| | | | | | | | | | | | | | | | | The problem with ignore_output is that it hides errors for WAY=ghci. GHCi always returns with exit code 0 (unless it is broken itself). For example: ghci015 must have been failing with compile errors for years, but we didn't notice because all output was ignored. Therefore, replace all uses of ignore_output with either ignore_stderr or ignore_stdout. In some cases I opted for adding the expected output. Update submodule hpc and stm. Reviewed by: simonmar Differential Revision: https://phabricator.haskell.org/D2367
* Testsuite: delete compiler_lt/le/gt/ge setup functionsThomas Miedema2016-02-171-0/+0
| | | | | | | | Since we're not consisently keeping track of which tests should pass with which compiler versions, there is no point in keeping these functions. Update submodules containers, hpc and stm.
* Testsuite: delete only_compiler_types, assume ghcThomas Miedema2016-02-161-0/+0
| | | | | | Update submodules stm, hpc and unix. Differential Revision: https://phabricator.haskell.org/D1921
* Update submodule stm + randomThomas Miedema2016-01-201-0/+0
| | | | | Skip random tests when random is not built. Skip stm tests when stm is not built.
* Allow CallStacks to be frozenEric Seidel2015-12-231-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This introduces "freezing," an operation which prevents further locations from being appended to a CallStack. Library authors may want to prevent CallStacks from exposing implementation details, as a matter of hygiene. For example, in ``` head [] = error "head: empty list" ghci> head [] *** Exception: head: empty list CallStack (from implicit params): error, called at ... ``` including the call-site of `error` in `head` is not strictly necessary as the error message already specifies clearly where the error came from. So we add a function `freezeCallStack` that wraps an existing CallStack, preventing further call-sites from being pushed onto it. In other words, ``` pushCallStack callSite (freezeCallStack callStack) = freezeCallStack callStack ``` Now we can define `head` to not produce a CallStack at all ``` head [] = let ?callStack = freezeCallStack emptyCallStack in error "head: empty list" ghci> head [] *** Exception: head: empty list CallStack (from implicit params): error, called at ... ``` --- 1. We add the `freezeCallStack` and `emptyCallStack` and update the definition of `CallStack` to support this functionality. 2. We add `errorWithoutStackTrace`, a variant of `error` that does not produce a stack trace, using this feature. I think this is a sensible wrapper function to provide in case users want it. 3. We replace uses of `error` in base with `errorWithoutStackTrace`. The rationale is that base does not export any functions that use CallStacks (except for `error` and `undefined`) so there's no way for the stack traces (from Implicit CallStacks) to include user-defined functions. They'll only contain the call to `error` itself. As base already has a good habit of providing useful error messages that name the triggering function, the stack trace really just adds noise to the error. (I don't have a strong opinion on whether we should include this third commit, but the change was very mechanical so I thought I'd include it anyway in case there's interest) 4. Updates tests in `array` and `stm` submodules Test Plan: ./validate, new test is T11049 Reviewers: simonpj, nomeata, goldfire, austin, hvr, bgamari Reviewed By: simonpj Subscribers: thomie Projects: #ghc Differential Revision: https://phabricator.haskell.org/D1628 GHC Trac Issues: #11049
* Update stm submodule to v2.4.4.1 releaseHerbert Valerio Riedel2015-12-221-0/+0
| | | | This `stm` release also addresses #10967
* Make 'error' include the CCS call stack when profiledSimon Marlow2015-11-131-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The idea here is that this gives a more detailed stack trace in two cases: 1. With `-prof` and `-fprof-auto` 2. In GHCi (see #11047) Example, with an error inserted in nofib/shootout/binary-trees: ``` $ ./Main 3 Main: z CallStack (from ImplicitParams): error, called at Main.hs:67:29 in main:Main CallStack (from -prof): Main.check' (Main.hs:(67,1)-(68,82)) Main.check (Main.hs:63:1-21) Main.stretch (Main.hs:32:35-57) Main.main.c (Main.hs:32:9-57) Main.main (Main.hs:(27,1)-(43,42)) Main.CAF (<entire-module>) ``` This doesn't quite obsolete +RTS -xc, which also attempts to display more information in the case when the error is in a CAF, but I'm exploring other solutions to that. Includes submodule updates. Test Plan: validate Reviewers: simonpj, ezyang, gridaphobe, bgamari, hvr, austin Reviewed By: bgamari Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D1426
* Update array/stm/hpc/haddock submodulesHerbert Valerio Riedel2015-11-011-0/+0
| | | | | This is needed to prepare for #11026 as these updates relax the upper bounds on `base` to allow for `base-4.9.0.0`
* Weak: Don't require wrapping/unwrapping of finalizersBen Gamari2015-09-251-0/+0
| | | | | | | | | | To quote Simon Marlow, We don't expect users to ever write code that uses mkWeak# or finalizeWeak#, we have safe interfaces to these. Let's document the type unsafety and fix the problem with () without introducing any overhead. Updates stm submodule.
* Remove references to () from types of mkWeak# and friendsBen Gamari2015-09-231-0/+0
| | | | | | | Previously the types needlessly used (), which is defined ghc-prim, leading to unfortunate import cycles. See #10867 for details. Updates stm submodule.
* stm: Fix test caseBen Gamari2015-09-021-0/+0
| | | | Updates stm submodule.
* Update stm submodule to 2.4.4 releaseHerbert Valerio Riedel2014-12-171-0/+0
|
* stm: Update submodule (again) to fix build breakageAustin Seipp2014-12-151-0/+0
| | | | Signed-off-by: Austin Seipp <austin@well-typed.com>
* stm: update submodule for #9169 additionAustin Seipp2014-12-151-0/+0
| | | | Signed-off-by: Austin Seipp <austin@well-typed.com>
* Add `--fwarn-trustworthy-safe` to `-Wall`David Terei2014-11-121-0/+0
| | | | | Update submodule haskell2010, haskell98, hoop, hpc and stm to fix new warnings.
* Bump `base` version to 4.8.0.0 for realHerbert Valerio Riedel2014-09-091-0/+0
| | | | | | | | | | | | | | | | This commit updates several submodules in order to bump the upper bounds on `base` of most boot packages Moreover, this updates some of the test-suite cases which have version numbers hardcoded within. However, I'm not sure if this commit didn't introduce the following two test-failures ghc-api T8628 [bad stdout] (normal) ghc-api T8639_api [bad stdout] (normal) This needs investigation
* submodule update hpc/stm with gitignore.Edward Z. Yang2014-08-221-0/+0
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* Add testsuite-related .gitignore filesHerbert Valerio Riedel2014-06-271-0/+0
| | | | | | | | Also set `submodule.<name>.ignore=none` explicitly for the recently converted submodules, as those are not supposed to have untracked/unignored files lying around. Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
* Update parallel and stm submodules to have .gitignoreEdward Z. Yang2014-06-261-0/+0
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* Convert loose sub-repos into proper submodules (re #8545)Herbert Valerio Riedel2014-06-251-0/+0
Specifically, the following sub-repos/modules are converted: - libffi-tarballs - libraries/array - libraries/deepseq - libraries/directory - libraries/dph - libraries/filepath - libraries/haskell2010 - libraries/haskell98 - libraries/hoopl - libraries/hpc - libraries/old-locale - libraries/old-time - libraries/parallel - libraries/process - libraries/stm - libraries/unix - nofib - utils/hsc2hs N.B. ghc-tarballs is not converted as it will probably be handled differently in the future. Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>